一、题目
二、解题思路
方法一:
- 3 名评委的投票,数字 0 代表投票给 a ,数字 1 代表投票给 b ,所以将投票结果相加是 b 的票数, 3 - 投票结果相加是 a 的票数;
- 赢家只有 a,b 两种情况,所以找到是 a 的所有条件,其余的是 b ;
- a 的条件 ((a>b && judge<=2) || (a<b && judge==0)) 。
方法二:
- 在输入评委的投票时,判断是投给谁,分别获得 a,b 的评委票;
- 同方法一;
- a 的条件 (a>b && x>0 ||(a<b && x==3)) 。
三、代码
方法一:
#include<iostream>
using namespace std;
int main()
{
int a,b,x,y,z;
cin>>a>>b>>x>>y>>z;
int judge=x+y+z;
if((a>b && judge<=2) || (a<b && judge==0))
{
printf("The winner is a: %d + %d",a,3-judge);
}
else
{
printf("The winner is b: %d + %d",b,judge);
}
return 0;
}
方法二:
#include<iostream>
using namespace std;
int main()
{
int a,b,x=0,y=0;
cin>>a>>b;
for(int i=0;i<3;i++)
{
int t;
cin>>t;
if(t==0)
{
x++;
}
else
{
y++;
}
}
if(a>b && x>0 ||(a<b && x==3))
{
printf("The winner is a: %d + %d",a,x);
}
else
{
printf("The winner is b: %d + %d",b,y);
}
return 0;
}
四、总结
3 名评委的投票,数字 0 代表投票给 a ,数字 1 代表投票给 b ,所以将投票结果相加是 b 的票数, 3 - 投票结果相加是 a 的票数,注意利用 0,1 数据的特点。