usaco1.1.1Your Ride Is Here(入门题)
一下是我很久很久之前刷的题目。。。随便扔在这里啦。。
Description
一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO。这些不明飞行物时常来收集来自在地球上忠诚的支持者。不幸的是,他们的空间在每次旅行只 能带上一群支持者。他们要做的是用一种聪明的方案让每一个团体人被慧星带走。他们为每个慧星起了一个名字,通过这些名字来决定一个团体是不是被特定的慧星 带走。那个相配方案的细节在下面被给出;你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗慧星后面的不明飞行物搭配。
团体的名字和慧星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字母的信息,"A" 是 1 和 "Z" 是 26。举例来说,团体 "USACO" 会是 21*19*1*3*15=17955。如果团体的数字 mod 47 等于慧星的数字 mod 47,那么你要告诉这个团体准备好被带走!
写一个程序读入慧星的名字和团体的名字,如果搭配打印"GO"否者打印"STAY" ,团体的名字和慧星的名字将会是没有空格或标点的一串大写字母(不超过6个字母),
Input
第 1 行:彗星的名字(一个长度为1到6的字符串)
第 2 行:团体的名字(一个长度为1到6的字符串)
Output
单独一行包含"STAY"或"GO".
SAMPLE INPUT 1
COMETQ
HVNGAT
SAMPLE OUTPUT 1
GO
SAMPLE INPUT 2
ABSTAR USACO
SAMPLE OUTPUT 2
STAY
写USACO中的第一题= = 表示没有数据好忧伤。。
还好题目挺水的
直接附上代码:
1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 int main() 5 { 6 char c[7],s[7]; 7 int i,j,sum=1,tot=1; 8 9 gets(c); 10 gets(s); 11 for (i=0;i<strlen(c);i++) 12 { 13 sum=sum*((int)c[i]-64); 14 } 15 for (i=0;i<strlen(s);i++) 16 { 17 tot=tot*((int)s[i]-64); 18 } 19 20 if (sum%47==tot%47) 21 printf("GO\n"); else printf("STAR\n"); 22 23 return 0; 24 }
1.有关字符串的读法: string:printf("%s",s); char:① printf("%s",s); ② gets(s); 或是直接cin. 2.有关于string的函数的用法 3.要记得任何数组的第一个元素都是从s[0]开始。。。因为忘了这个wa了好几次。。。orz