1. 程式人生 > >p1087 [usaco1.1.1]你的飛碟在這兒

p1087 [usaco1.1.1]你的飛碟在這兒

題目

背景 Background
作為usaco的第一題,你需要有字串的基本知識
描述 Description
科學家們在研究彗星後驚訝地發現,在每一個彗星後面都有一個不明飛行物UFO。 這些不明飛行物時常來帶走來自地球上的一些支持者。不幸地,他們的空間在每次旅行只能帶上一群支持者。 他們要做的是用一種聰明的方案讓某個支援彗星UFO的團體都被彗星帶走。他們為每個彗星起了一個名字,通過這些名字來決定一個團體是不是特定的彗星帶走。 那個相配方案的細節是這樣的:
所有團體的名字和彗星的名字都以下列各項方式轉換成一個數字: 這個最後的數字代表名字中所有字母的資訊,“A” 是 1 和 “Z” 是 26。
舉例來說,團體 “USACO” 會是 2119

1315=17955 。 如果團體的數字 mod 47 等於慧星的數字 mod 47,那麼你要告訴這個團體:準備好行李,走吧 !
現在,你要寫一個程式來通過團體的名字和彗星的名字來決定一個組是否應該與在那一顆彗星後面的不明飛行物搭配。
寫一個程式讀入彗星的名字和團體的名字,如果相等,輸出"GO"否者輸出"STAY"
團體的名字和彗星的名字將會是沒有空格或標點的一串大寫字母(不超過6個字母),
輸入格式 Input Format
第 1 行:
彗星的名字(一個長度為1到6的字串)
第 2 行:
團體的名字(一個長度為1到6的字串)
輸出格式 Output Format
只有一行----“STAY"或"GO”.
樣例輸入 Sample Input

COMETQ
HVNGAT

樣例輸出 Sample Output

GO
時間限制 Time Limitation
1s
註釋 Hint
1s
來源 Source
usaco 1.1.1

程式碼

#include<bits/stdc++.h>
#include<string>
using namespace std;
string comet,group;
int sum1=1,sum2=1;
int main()
{
	getline(cin,comet);
	cin>>group;
	for (int i=0;i<comet.
size();i++) sum1*=(int)comet[i]-'A'+1; for (int i=0;i<group.size();i++) sum2*=(int)group[i]-'A'+1; if (sum1%47==sum2%47) cout<<"GO"<<endl; else cout<<"STAY"<<endl; return 0; }