求大佬帮助,试了好多遍,最高70分。。。

P1200 [USACO1.1] 你的飞碟在这儿 Your Ride Is Here

把-64改成-'A'+1
by i_am_a_joker @ 2019-12-03 16:11:11


你用把str和str1定义成string型的。不过这样的话下面程序也要有所改动。你可以试试,不行再问问别人。
by bulijoijoidibuliduo @ 2019-12-03 17:03:12


@[China_Jingzhiyuan](/user/245089) 好像没用,话说这不是一样的吗。。。
by 时光深巷1 @ 2019-12-03 21:11:33


你看看我的 ```cpp #include<iostream> #include<cstring> using namespace std; int main(){ char a[1001],b[1001]; int sum=1,ans=1; cin>>a>>b; for(int i=0;i<strlen(a);i++){ sum*=a[i]-'A'+1; } for(int i=0;i<strlen(b);i++){ ans*=b[i]-'A'+1; } sum%=47; ans%=47; if(sum==ans) cout<<"GO"; else cout<<"STAY"; return 0; } ```
by i_am_a_joker @ 2019-12-03 21:31:36


@[China_Jingzhiyuan](/user/245089) 谢了,我过了 ```c #include<stdio.h> #include<stdlib.h> #include<string.h> void main() { char str[7],str1[7]; int mul=1,mul2=1,i,a,b; scanf("%s",str); scanf("%s",str1); a=strlen(str); b=strlen(str1); for(i=0;i<a;i++) mul*=(str[i]-64); for(i=0;i<b;i++) mul2*=(str1[i]-64); mul%=47; mul2%=47; if(mul==mul2) printf("GO"); else printf("STAY"); system("pause"); } ```
by 时光深巷1 @ 2019-12-03 22:11:20


@[Wsy071113](/user/169574) 谢谢,我已经解决了
by 时光深巷1 @ 2019-12-03 22:13:30


其实是你刚开始那个代码应该写(str[i]!='\0')而不是0
by LDH201314 @ 2019-12-14 20:37:01


|