【USACO TRAINING】你的飞碟在这儿!【原创】

题目描述

科学家们在研究彗星后惊讶地发现,在每一个彗星后面都有一个不明飞行物UFO。这些不明飞行物时常来带走来自地球上的一些支持者。不幸地,UFO的空间有限,每次旅行只能带上一个支持者团体。他们要做的是用一种聪明的方案让支持某颗彗星的团体被该彗星的UFO带走。

他们为每颗彗星起了一个名字,通过这些名字来决定一个团体是否被某个相配的彗星带走。相配方案的细节是这样的:

所有团体的名字和彗星的名字(名字都是字符串)都转换成一个数字,这个数字代表名字中所有字母的信息。在转换方案中,'A' 是 1,'B' 是2,......, 'Z' 是 26。然后把名字中各个字母对应的数字乘起来。

举例来说,团体 "USACO" 对应的数字是 21*19*1*3*15=17955 。

如果团体的数字模47之后等于慧星的数字模47(模运算是指整除后的余数,也称取余运算),那么你要告诉这个团体:准备好行李,走吧 !

现在,你要写一个程序来通过团体的名字和彗星的名字来决定一个团体是否与在那一颗彗星相配。  读入彗星的名字和团体的名字,如果相配,输出"GO",否则输出"STAY"

团体的名字和彗星的名字将会是没有空格或标点的一串大写字母(不超过6个字母)。

输入

第 1 行: 彗星的名字(一个长度不超过6的字符串)

第 2 行: 团体的名字(一个长度不超过6的字符串)

注意第2行末尾不一定有换行符

输出

第1行:输出 "STAY"或"GO".

样例输入

COMETQHVNGAT

样例输出

GO

ps:一道很水的题,不解释了。

#include<cstdio>
main() 
{
    long x=1,y=1;   char a[7],b[7];
    scanf("%s%s",&a,&b);
    int i=0;
    for (;a[i]!=0;i++)
    {x*=(a[i]-64);}
    for (i=0;b[i]!=0;i++)
    {y*=(b[i]-64);}
    x%47==y%47?printf("GO"):printf("STAY");
}


你可能感兴趣的:(C++,USACO,iostream)