编程语言
首页 > 编程语言> > C++算法代码——你要乘坐的飞碟在这里[usaco]

C++算法代码——你要乘坐的飞碟在这里[usaco]

作者:互联网

题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=1056

题目描述

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

输入

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

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

输出

单独一行包含"STAY"或"GO".

样例输入

COMETQ
HVNGAT

样例输出

GO

#include <iostream>
#include <cstring>
using namespace std;

int main(){
	string n,m;
	cin >> n >> m;
	unsigned int lena = n.size(),lenb = m.size();
	unsigned int suma = 1,sumb = 1;
	for (int i = 0;i < lena;i++){
		suma *= n[i] - 64;
	}
	for (int i = 0;i < lenb;i++){
		sumb *= m[i] - 64;
	}
	if (suma % 47 == sumb % 47){
		cout << "GO";
	}
	else{
		cout << "STAY";
	}
	return 0;
}

  

标签:飞碟,慧星,47,usaco,int,名字,C++,团体,GO
来源: https://www.cnblogs.com/linyiweiblog/p/14338584.html