你的旅途由此开始(模拟)

阅读: 评论:0

你的旅途由此开始(模拟)

你的旅途由此开始(模拟)

有一个众所周知的事实,每个彗星的背后都藏着一个UFO。

这些UFO经常到地球来带走一些它们的忠实支持者。

不幸的是,UFO的空间有限,每次星际之旅都只能带走一组支持者。

为了让所有的支持者团队能够提前知道究竟哪组支持者会被带走,UFO们设计了如下方案:

它们给彗星制定一个名称,通过将该名称和某一组支持团队的名称进行比较,从而判断这一组支持团队是否会被带走。

具体的比较方式如下:

首先,我们将彗星和支持者团队的名称通过以下方式转化为数字:

每个大写字母对应一个整数,A对应1,B对应2,…,Z对应26。
将名称中的每个字母转化为对应数字,再将这些数字相乘,例如,USACO对应的数字相乘为21 * 19 * 1 * 3 * 15 = 17955。
将得到的乘积 mod 47 就可得到最终数字。
我们将彗星和支持者团队的名称都通过上述方式转化为最终数字后,如果两个名称对应的数字相同,那么这组支持者就将被带走。

现在,请你编写一个程序,读取彗星和支持者团队的名称,并根据上述方案判断两个名称是否匹配。

输入格式
第一行,一个由大写字母构成,长度不超过6的字符串,表示彗星的名称。

第二行,一个由大写字母构成,长度不超过6的字符串,表示支持者团队的名称。

输出格式
如果两个名称可以匹配,则输出”GO”,否则输出”STAY”。

输入样例1:
COMETQ
HVNGAT
输出样例1:
GO
输入样例2:
ABSTAR
USACO
输出样例2:
STAY

#include<bits/stdc++.h>
using namespace std;
string compare(string a,string b){int suma=1,sumb=1;for(int i=0;i<a.size();i++){suma=suma*(a[i]-'A'+1)%47;}for(int i=0;i<b.size();i++){sumb=sumb*(b[i]-'A'+1)%47;}if(suma==sumb)return "GO";else return "STAY";
}
int main(){string a,b;cin>>a>>b;cout<<compare(a,b)<<endl;
}
#include<bits/stdc++.h>
using namespace std;
string compare(string a,string b){int suma=1,sumb=1;for(int i=0;i<a.size();i++){(suma*=a[i]-'A'+1)%=47;//不能写成suma*=(a[i]-'A'+1)%47}for(int i=0;i<b.size();i++){(sumb*=b[i]-'A'+1)%=47;}if(suma==sumb)return "GO";else return "STAY";
}
int main(){string a,b;cin>>a>>b;cout<<compare(a,b)<<endl;
}

本文发布于:2024-02-01 09:02:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170674937135502.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:旅途
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23