题目:
输入两个由大写字母组成的字符串,长度1~6,A~Z分别转换为1~26,然后将其累乘,得到的两个乘积如果mod 47后相等则输出Go,否则输出STAY 。
示例:“USACO”: 21*19*1*3*15=17955。
格式:
输入:
第1行:一个长度为1到6的大写字母串。
第2行:一个长度为1到6的大写字母串。
输出:
仅一行,包括“GO”或“STAY”。
题解:
分别定义两个整数x,y来存储字符转换后的累乘结果,然后根据x,y mod 47的结果是否相等来判断输出“GO”or “STAY” 。
代码:
/* ID: a4556762 PROG: ride LANG: C++ */
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
freopen("ride.in","r",stdin);
freopen("ride.out","w",stdout);
char a[8], b[8];
cin >> a >> b;
int i,x=1,y=1;
for(i=0;i<strlen(a);i++)
x*=(a[i]-64);
for(i=0;i<strlen(b);i++)
y*=(b[i]-64);
if(x%47==y%47)
cout<<"GO"<<endl;
else
cout<<"STAY"<<endl;
return 0;
}