[USACO] Section1.1 Your Ride Is Here[字符串处理]

2017-5-27


【题目描述】
一个众所周知的事实,在每一慧星后面是一个不明飞行物UFO。这些不明飞行物时常来收集来自在地球上忠诚的支持者。不幸地,他们的飞碟在每次旅行只能带上一定数目的支持者。 他们要做的是用一种聪明的方案让每一个团体人被慧星带走。他们为每个慧星起了一个独有名字,通过这些名字来决定一个团体是不是特定的慧星带走。 那个相配方案的细节在下面被给 出;你的工作要写一个程序来通过团体的名字和彗星的名字来决定一个组是否应该与在那一颗慧星后面的不明飞行物搭配。团体的名字和慧星的名字都以下列各项方式转换成一个数字: 这个最后的数字代表名字中所有字母的信息,”A” 是1 和 “Z” 是 26。举例来说,团体 “USACO” 会是 21*19*1*3*15=17955 。如果团体的数字除以47的余数等于慧星的数字除以47的余数,那么你要告诉这个团体需要准备好被带走 ! 写一个程序读入慧星的名字和团体的名字,如果能搭配打印”GO”否则打印”STAY” 团体的名字和慧星的名字将会是由没有空格或标点的一串大写字母(不超过6个字母)。
【输入格式】

  第1行: 彗星的名字(一个长度为1到6的大写字符串)

  第2行: 团体的名字(一个长度为1到6的大写字符串)

【输出格式】

  (单独一行)"STAY"或"GO"。

【输入样例1】

COMETQ
HVNGAT

【输出样例1】

GO

【输入样例2】

ABSTAR
USACO 

【输出样例2】

STAY

【题解】

读入两个字符串 ,按顺序,用公式 -’A’ + 1转换相乘,比较结果。

【代码】

/*
ID: M_Ker
PROB: 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 i,a1,b1;
    fin>>a>>b;
    for(i=0,a1=1;i<a.length();i++)
        a1*=(a[i]-'A'+1)%47;
    for(i=0,b1=1;i<b.length();i++)
        b1*=(b[i]-'A'+1)%47;
    if(a1==b1)
        fout<<"GO"<<endl;
    else
        fout<<"STAY"<<endl;
    return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值