USACO Section1.1 Your Ride Is Here

时间:2021-10-09 12:44:49

题目

输入两个由大写字母组成的字符串,长度1~6,A~Z分别转换为1~26,然后将其累乘,得到的两个乘积如果mod 47后相等则输出Go,否则输出STAY 。
示例:“USACO”: 21*19*1*3*15=17955。

格式

输入:
第1行:一个长度为1到6的大写字母串。
第2行:一个长度为1到6的大写字母串。
输出:
仅一行,包括“GO”或“STAY”。

题解

分别定义两个整数x,y来存储字符转换后的累乘结果,然后根据x,y mod 47的结果是否相等来判断输出“GO”or “STAY” 。

代码

/* ID: a4556762 PROG: ride LANG: C++ */
#include<cstdio>
#include<iostream>
#include<string> 
#include<cstring>
using namespace std;
int main()
{
    freopen("ride.in","r",stdin);
    freopen("ride.out","w",stdout);
    char a[8], b[8];
    cin >> a >> b;
    int i,x=1,y=1;
    for(i=0;i<strlen(a);i++)
        x*=(a[i]-64);
    for(i=0;i<strlen(b);i++)
        y*=(b[i]-64);
    if(x%47==y%47)
    cout<<"GO"<<endl;
    else
    cout<<"STAY"<<endl;
    return 0;
}