pat 乙级 1018 锤子剪刀布
2023-12-17 09:44:46
解题思路,这题你硬比也可以,用技巧减少比较也可以,总共有九种情况 去掉 都相同的 还有6种,我的想法是这样 把 B C J 转换成了0 1 2,这样我们只要看他们大小就行,如果前面的比后面的小并且只差1,那就是前面的赢了,如果相差2就是后面的赢了,这样就把比较变成了4种。。都可以
c语言版本:
#include<stdio.h>
char output(int *jia)
{
char c='B';
int count=jia['B'];
if(count<jia['C'])
{
c='C';
count=jia['C'];
}
if(count<jia['J'])
{
c='J';
}
return c;
}
int main()
{
int n,jia_w=0,jia_ping=0,yi_w=0;
char jia_c,yi_c;
int jia[80]={0};
int yi[80]={0};
scanf("%d",&n);
while(n--)
{
scanf(" %c %c",&jia_c,&yi_c);
if(jia_c==yi_c)
{
jia_ping++;
}
else
{
int jia_i=(jia_c-'A')%9;
int yi_i=(yi_c-'A')%9;
if(jia_i>yi_i)
if(jia_i-yi_i==1)
yi_w++,yi[yi_c]++;
else
jia_w++,jia[jia_c]++;
else
if(jia_i<yi_i)
if(yi_i-jia_i==1)
jia_w++,jia[jia_c]++;
else
yi_w++,yi[yi_c]++;
}
}
printf("%d %d %d\n",jia_w,jia_ping,yi_w);
printf("%d %d %d\n",yi_w,jia_ping,jia_w);
char c=output(jia);
printf("%c ",c);
c=output(yi);
printf("%c\n",c);
return 0;
}
python版本略:大体思路一样 无非再用个字典
文章来源:https://blog.csdn.net/qq_44063802/article/details/135033922
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!