1.2.1 Your Ride Is Here 你的飞碟在这
字符串处理,把飞碟和组名的编号记下来,比一下就行了
C++ Code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("ride.in","r",stdin);//读文件
freopen("ride.out","w",stdout);
string a,b;
cin>>a>>b;
int u=1,x=1;
//for(int i=0;i<a.length();i++) cout<<a[i]-64<<' ';
for(int i=0;i<a.length();i++) u=u*(a[i]-64)%47;//计算
for(int i=0;i<b.length();i++) x=x*(b[i]-64)%47;
//cout<<u<<' '<<x;
if(x==u) cout<<"GO\n";
else cout<<"STAY\n";
return 0;
}
1.2.2 Greedy Gift Givers 贪婪的送礼者
简单模拟,用map记录每个人当前的钱数
#include<bits/stdc++.h>
using namespace std;
map<string,int> ma;
int main()
{
freopen("gift1.in","r",stdin);//读文件
freopen("gift1.out","w",stdout);
int n;
cin>>n;
string a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
ma[a[i]]=0;
}
for(int o=0;o<n;o++)
{
string k;
int num,money;
cin>>k>>money>>num;
int give;//给每个人的钱数
if(num==0)
{
give=0;
ma[k]+=money;
}
else
{
give=money/num;
ma[k]-=(give*num);
}
while(num--)
{
string name;
cin>>name;
ma[name]+=give;
}
}
for(int i=0;i<n;i++) cout<<a[i]<<' '<<ma[a[i]]<<'\n';
return 0;
}