题目描述
科学家们在研究彗星后惊讶地发现,在每一个彗星后面都有一个不明飞行物UFO。 这些不明飞行物时常来带走地球上的一些支持者。不幸地,他们的空间在每次旅行只能带上一群支持者。 他们要做的是用一种聪明的方案让某个支持彗星UFO的团体都被彗星带走。他们为每个彗星起了一个名字,通过这些名字来决定一个团体是不是让特定的彗星带走。 那个相配方案的细节是这样的: 所有团体的名字和彗星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字母的信息,“A” 是 1 和 “Z” 是 26。 举例来说,团体 “USACO” 会是 21191315=17955 。 如果团体的数字 mod 47 等于慧星的数字 mod 47,那么你要告诉这个团体:准备好行李,走吧 ! 现在,你要写一个程序,通过团体的名字和彗星的名字来决定一个组是否与在那一颗彗星后面的不明飞行物搭配。 写一个程序读入彗星的名字和团体的名字,如果搭配则打印"GO",否者打印"STAY" 团体的名字和彗星的名字将会是没有空格或标点的一串大写字母(不超过6个字母)
输入
第 1 行: 彗星的名字(一个长度为1到6的字符串) 第 2 行: 团体的名字(一个长度为1到6的字符串)
输出
只有一行----“STAY"或"GO”.
样例输入
样例1:
COMETQ
HVNGAT
样例2:
ABSTAR
USACO
样例输出
样例1:
GO
样例2:
STAY
来源
USACO
满分代码:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char star[7],line[7];
int num_star=1,num_line=1;
int i,n_star,n_line;
cin>>star;
cin>>line;
n_star=strlen(star);
n_line=strlen(line);
for(i=0; i<n_star; i++)
num_star*=(star[i]-64);
for(i=0; i<n_line; i++)
num_line*=(line[i]-64);
if(num_star%47==num_line%47)
cout<<"GO"<<endl;
else
cout<<"STAY"<<endl;
return 0;
}