题目
题目描述:
小明和小红在玩一个游戏,每轮游戏开始时给他们每个人分配两张牌,由牌上的点数决定真家。游戏的规则如下:两张牌点数相同,称为对牌,点数不同,称为散牌。
当两人都是对脾时,以两张牌的点数之和大的那个人赢。
一人为对牌,一人为散牌时,拿对牌的人真
当两人都是散牌时,以两张牌的点数之和对10取模之后大的那个人赢
如果没有办法决定赢家,则两人打平。
输入:
第一行为一个正整数N,代表游戏进行了N轮;
接下来N行,代表每一轮的游戏情况,每行四个数,前两个数为分配给小明的两张牌。后两个数为分配给小红的两张脾。
输出:
N行,每行一个字符审,代表该轮比赛的结果,如果小明赢,输出1,如果小明输了,输出一1,如果两人打平,输出0(输出均不包含引号)
样例输入:
1
2 2 3 3
样例输出 :
-1
代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int a, b, c, d;
bool qw = 0, as = 0;
cin >> a >> b >> c >> d;
qw = (a == b);
as = (c == d);
if (qw == 1) {
if (as == 1) {
if ((a + b) > (c + d)) {
cout << 1 << endl;
} else if ((a + d) == (c + d)) {
cout << 0 << endl;
} else {
cout << -1 << endl;
}
} else {
cout << 1 << endl;
}
} else {
if (as == 1) {
cout << -1 << endl;
} else {
if ((a + b) % 10 > (c + d) % 10) {
cout << 1 << endl;
} else if ((a + d) % 10 == (c + d) % 10) {
cout << 0 << endl;
} else {
cout << -1 << endl;
}
}
}
}
return 0;
}