Section1.1

★Your Ride Is Here 你要乘坐的飞碟在这里
一个众所周知的事实,在每一彗星后面是一个不明飞行物 UFO. 这些不明飞行物时常来收集来自在
地球上忠诚的支持者. 不幸地,他们的空间在每次旅行只能带上一群支持者. 他们要做的是用一种
聪明的方案让每一个团体人被彗星带走. 他们为每个彗星起了一个名字,通过这些名字来决定一个
团体是不是特定的彗星带走. 那个相配方案的细节在下面被给出;
你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗彗星后
面的不明飞行物搭配.
团体的名字和彗星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字
母的信息,"A" 是 1 和 "Z" 是 26.
举例来说,团体 "USACO" 会是 21*19*1*3*15=17955 . 如果团体的数字 mod 47 等于彗星的数字
mod 47,那么你要告诉这个团体准备好被带走!
写一个程序读入彗星的名字和团体的名字,如果搭配打印"GO"否者打印"STAY"
团体的名字和彗星的名字将会是没有空格或标点的一串大写字母(不超过 6 个字母), 如:
Input Output
COMETQ
HVNGAT
GO
ABSTAR
USACO
STAY
PROGRAM NAME: ride
INPUT FORMAT
第 1 行: 彗星的名字(一个长度为 1 到 6 的字符串)
第 2 行: 团体的名字(一个长度为 1 到 6 的字符串)
SAMPLE INPUT (file ride.in)
COMETQ
HVNGAT
OUTPUT FORMAT
单独一行包含"STAR"或"GO".
SAMPLE OUTPUT (file ride.out)

/*
ID: Zhang Dianjun
PROG: ride
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main() {
    ofstream fout ("ride.out");
    ifstream fin ("ride.in");
    string a, b;
    int len_a, len_b;
    fin >> a >> b;
    len_a = a.size();
    len_b = b.size();
    int reta = 1, retb = 1;
    for(int i = 0; i < len_a; i++)
    {
        reta =  reta * (a[i]- 'A' + 1) % 47;
    }
    for(int i = 0; i < len_b; i++)
    {
        retb = retb * (b[i]- 'A' + 1) % 47;
    }
    if(retb == reta)
        fout << "GO" << endl;
    else
        fout << "STAY" << endl;
    return 0;
}

  

posted @ 2016-09-22 15:12  默默阿狸  阅读(211)  评论(0)    收藏  举报