题目描述
一个众所周知的事实,在每一彗星后面是一个不明飞行物 UFO。 这些不明飞行物时常来收集来自在地球上忠诚的支持者。 不幸地,他们的空间在每次旅行只能带上一群支持者。 他们要做的是用一种聪明的方案让每一个团体人被彗星带走。 他们为每个彗星起了一个名字,通过这些名字来决定一个团体是不是特定的彗星带走。那个相配方案的细节在下面被给出;
你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗彗星后面的不明飞行物搭配。
团体的名字和彗星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字母的信息,"A" 是 1 ... "Z" 是 26。
举例来说,团体 "USACO" 会是 21*19*1*3*15=17955。 如果团体的数字 mod 47 等于彗星的数字 mod 47(mod表示取余数),那么你要告诉这个团体准备好被带走!
写一个程序读入彗星的名字和团体的名字,如果搭配打印"GO"否者打印"STAY"。
团体的名字和彗星的名字将会是没有空格或标点的一串大写字母(不超过 6 个字母), 如:
输入:
COMETQ
HVNGAT
输出:
GO
输入:
ABSTAR
USACO
输出:
STAY
输入
第 1 行: 彗星的名字(一个长度为 1 到 6 的字符串)
第 2 行: 团体的名字(一个长度为 1 到 6 的字符串)
输出
单独一行包含"STAY"或"GO"。
样例
输入
COMETQ HVNGAT
输出
GO
输入
ABSTAR USACO
输出
STAY
#include<bits/stdc++.h>
using namespace std;
int main(){
string s1,s2;
int sum1=1,sum2=1;
getline(cin,s1);
getline(cin,s2);
for(int i=0;i<s1.size();i++){
sum1=sum1*(s1[i]-('A'-1));
}
for(int i=0;i<s2.size();i++){
sum2=sum2*(s2[i]-('A'-1));
}
if(sum1%47==sum2%47) cout<<"GO";
else cout<<"STAY";
}