题目链接:http://cerberus.delos.com:790/usacoprob2?a=nR34fDHld4J&S=ride
人家说USACO的题目适合入门……我还是先刷这个吧……
这道题目主要是学了一下USACO里面的文件输入输出格式
1 /* 2 ID: zypz457 3 TASK: ride 4 LANG: C++ 5 */ 6 #include <cstdio> 7 #include <cstdlib> 8 #include <cstring> 9 #include <fstream> 10 using namespace std; 11 int main(void) { 12 ifstream fin("ride.in"); 13 ofstream fout ("ride.out"); 14 char a[10], b[10]; 15 while (fin >> a >> b) { 16 int sum1, sum2, i, len1, len2; 17 len1 = strlen(a); len2 = strlen(b); 18 sum1 = sum2 = 1; 19 for (i = 0; i < len1; ++i) { 20 sum1 = (sum1*(a[i]-'A'+1))%47; 21 } 22 for (i = 0; i < len2; ++i) { 23 sum2 = (sum2*(b[i]-'A'+1))%47; 24 } 25 /* 26 if (sum1 == sum2) fprintf(fout, "GO\n"); 27 else fprintf(fout, "STAY\n"); 28 * */ 29 if(sum1 == sum2) fout << "GO\n"; 30 else fout << "STAY\n"; 31 } 32 return 0; 33 }
不用每次交题目都复制了倒是……但是格式要求挺严格的……还要有注释。。。
好吧,读文件神马的不用那么麻烦……按照原来的习惯写就行。
1 /* 2 ID: zypz457 3 TASK: ride 4 LANG: C++ 5 */ 6 #include <cstdio> 7 #include <cstdlib> 8 #include <cstring> 9 using namespace std; 10 int main(void) { 11 freopen("ride.in", "r", stdin); 12 freopen("ride.out", "w", stdout); 13 char a[10], b[10]; 14 while (~scanf("%s%s",a, b)) { 15 int sum1, sum2, i, len1, len2; 16 len1 = strlen(a); len2 = strlen(b); 17 sum1 = sum2 = 1; 18 for (i = 0; i < len1; ++i) { 19 sum1 = (sum1*(a[i]-'A'+1))%47; 20 } 21 for (i = 0; i < len2; ++i) { 22 sum2 = (sum2*(b[i]-'A'+1))%47; 23 } 24 if (sum1 == sum2) printf("GO\n"); 25 else printf("STAY\n"); 26 } 27 return 0; 28 }
谢谢fray