You pretty much "hash" each string, as a product of letters, and compare both hashes mod 47. If they match, "GO", otherwise "STAY" and then print a newline.
On second thought, I could have placed the modulus in the s_product function. Then I also realized that it could be put in after each multiplication operation.
/*
ID: victor4
PROG: ride
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int s_product(const char *s){
int product = 1;
for(const char *p = s; *p; ++p)
product *= *p - 'A' + 1;
return product;
}
int main() {
ofstream fout ("ride.out");
ifstream fin ("ride.in");
string s_in1, s_in2;
fin >> s_in1 >> s_in2;
fout << (((s_product(s_in1.c_str()) % 47) == (s_product(s_in2.c_str()) % 47)) ? "GO" : "STAY") << endl;
return 0;
}
No comments:
Post a Comment