题目描述
小王和小明在吃饭的时候玩起了划拳游戏。
游戏规则是,每一轮两个人同时说出一个数(只能是 5,10,15,20 中的一个),若两人说出的数一样,则两人均不计分,否则说出数字更大的人获得两人说出的数差值这么多的分数。
但有一个例外,如果一个人说的 20,但另一个说的是 5 或 10,则说 20 的这个人不得分,另一个人得 10 分。
游戏共进行 k 轮,求最后两人各自得分。
输入格式
第一行一个整数 k,表示游戏进行的轮数。
接下来 k 行,每行两个整数分别表示这一轮小王和小明说的数。
输出格式
一行输出两个整数以空格分开。
分别为小王和小明的得分。
样例
样例输入
2
10 15
20 10
样例输出
0 15
数据范围与提示
0≤k≤100
每人说的数一定是 5,10,15,20 中的一个
思路
根据题意模拟即可。
code
#include<bits/stdc++.h>//万能头文件
using namespace std;
int n;//定义n
int ans1,ans2;//分别存储小王和小明的得分
int main()
{
scanf("%d",&n);//输入n
while(n--)//循环n次
{
int a,b;
scanf("%d %d",&a,&b);//输入说的数
if(a==b) continue;//如果相等,就直接跳过
else if(a>b)//如果小王比小明大
{
if(a==20&&(b==5||b==10)) ans2+=10;//并且属于特殊情况,ans2就加10
else ans1+=a-b;//不是特殊情况,加上去a,b之差
}
else//否则,即小明比小王大
{
if(b==20&&(a==5||a==10)) ans1+=10;//并且属于特殊情况,ans1就加10
else ans2+=b-a;//不是特殊情况,加上去a,b之差
}
}
printf("%d %d\n",ans1,ans2);//输出最终得分
return 0;
}