Your Ride Is Here (ride) 解析!
这是USACO整个题库中最简单的一个问题,不需要特殊的算法和技巧。但一定要注意输入输出,一次需要读入两个字符串,以及判断文件的结束。26^6,不存在溢出,可不必每次取余数。在文件操作中,我使用的是输入输出重定向,不太正规,但代码我感觉相对(FILE *instream; instream=freopen("ride.in","r");)简洁。
关键代码行:
freopen("ride.in","r",stdin);
freopen("ride.out","w",stdout);
scanf("%s %s",s1,s2)!=EOF
/*
ID: pen_wan1
LANG: C
TASK: ride
*/
#include <stdio.h>
#include<string.h>
int main ()
{
char s1[7],s2[7];
int i,r1,r2;
freopen("ride.in","r",stdin);
freopen("ride.out","w",stdout);
while(scanf("%s %s",s1,s2)!=EOF)
{
r1=1;r2=1;
for (i=0;i<strlen(s1);i++){
r1=r1*(s1[i]-64);
}
for (i=0;i<strlen(s2);i++){
r2=r2*(s2[i]-64);
}
if (r1%47==r2%47){
printf("GO\n");
}
else
printf("STAY\n");
}
return(0);
}
由于自身是初学者,编程能力有限,未达到程序员的水平原因,源代码可能存在错误,也不是最优的;文子编辑一般,文中会有言辞不当。博文中的错误和不足敬请读者批评指正。