USACO1.1.1

你的乘车在这里

这是一个众所周知的事实,每个好彗星后面是一个不明飞行物。这些不明飞行物常常从地球上收集忠实的支持者。不幸的是,他们只有在每次旅行中有一群追随者的空间。然而,他们确实让团队提前知道,这将是一个聪明的计划为每个彗星挑选:他们选择一个彗星的名称,以及组的名称,可以用于确定是否一个特定的群体的转向(你认为彗星的名字?)。匹配方案的细节如下:你的工作是编写一个程序,它取一个组和彗星的名称,然后确定该组是否应该与该彗星后面的UFO。

组的名称和彗星的名称都按以下方式转换为数字:最终数字只是名称中所有字母的乘积,其中“A”为1,“Z”为26。例如,组“USACO”将是21 * 19 * 1 * 3 * 15 = 17955.如果组的数字mod 47与彗星的数字mod 47相同,则需要告诉组准备好!(记住,“mod b”是除以b后剩余的余数; 34 mod 10是4)

写一个程序,读入彗星的名称和组的名称,并计算出是否根据上述方案的名称是一个匹配,打印“GO”,如果他们匹配,“停留”,如果不是。组和彗星的名称将是大写字母的字符串,不包含空格或标点符号,最多6个字符。

例子:

输入 输出
COMETQ
HVNGAT
ABSTAR
USACO 

程序名:骑

这意味着,你在你的头填充:
PROG:乘坐 
警告:您必须在此字段或错误的测试数据(或不测试数据)'骑'将被使用。

输入格式

第1行: 长度为1..6的大写字符串,是彗星的名称。
第2行: 长度为1..6的大写字符串,是组的名称。

:输入文件具有在每行的端部的换行,但没有一个“返回”。有时,程序员编写的Windows范例“return”后跟“newline”; 不要这样做!使用简单的输入例程,如“readln”(对于Pascal)和C / C ++,“fscanf”和“fid >> string”。

注2:由于多余的人物,一定要留下足够的空间用于“换行”(也记载为' n')和串字符(' 0'),如果你的语言使用它(结束C和C ++ do)。这意味着你需要八个字符的房间,而不是六个。

SAMPLE INPUT(file ride.in)

COMETQ
HVNGAT

输出格式

包含单词“GO”或单词“STAY”的单行。

SAMPLE OUTPUT(file ride.out)

输出说明

将字母转换为数字:
C O M E T Q  
3 15 13 5 20 17  
H V N G 一个 T
8 22 14 7 1 20  
然后计算产品mod 47:
3 * 15 * 13 * 5 * 20 * 17 = 994500 MOD 47 = 27 
8 * 22 * 14 * 7 * 1 * 20 = 344960 MOD 47 = 27

因为两个产品评估为27(当由47修改),任务是“GO”。


/*
ID:gwj11391
LANG:C
TASK:ride
*/
#include<stdio.h>
#include<string.h>
int main(){
	FILE* fin = fopen("ride.in","r");
	FILE* fout = fopen("ride.out","w");
    long long a=1,b=1; 
    int len1,len2,i=0;
    char x[9],y[9];
    //gets(x);
    //gets(y);
	fscanf(fin,"%s",x);
	fscanf(fin,"%s",y);
    len1=strlen(x);
    len2=strlen(y);
    for( ; i < len1; i++)a *= x[i] - 64;
    for( i = 0; i < len2 ; i++)b *= y[i] - 64;
    a %= 47;
    b %= 47;
    if(a==b)
		fprintf(fout,"GO
");
	else fprintf(fout,"STAY
");
    return 0;
}


原文地址:https://www.cnblogs.com/gwj1314/p/9444938.html