Problem 1
Your Ride is here
题目描述:读入两个字符串,将A看成1,将Z看成26之后乘起来mod47,如果两个串得到的结果一样输出GO,如果不一样输出STAY。
要点:字符处理是减去64得到数字。
我当时做的时候把初始值设为0了...这样会使结果全部为0没有变化,跪了。
代码如下:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
ofstream fout("ride.out");
ifstream fin("ride.in");
string s1, s2;
fin >> s1 >> s2;
int result1 = 1;
int result2 = 1;
for (int i = 0; i < s1.length(); ++i) {
result1 *= (s1[i]-64);
if (result1 >= 47) result1 %= 47;
}
for (int i = 0; i < s2.length(); ++i) {
result2 *= (s2[i]-64);
if (result2 >= 47) result2 %= 47;
}
if (result1 == result2) fout << "GO" << endl;
else fout << "STAY" << endl;
return 0;
}