纸牌数字都小于13.
第一个代码没有判断当一个为对牌另一个为散牌,则赢的情况。
#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
scanf("%d", &n);
for (int i=1,a,b,c,d; i<=n; ++i){
scanf("%d%d%d%d", &a, &b, &c, &d);
int A = (a == b) * a + (a != b) * (a + b) % 10;
int B = (c == d) * c + (c != d) * (c + d) % 10;
if (A == B) printf("0\n");
else if (A < B) printf("-1\n");
else printf("1\n");
}
return 0; }
#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
scanf("%d", &n);
for (int i=1,a,b,c,d; i<=n; ++i){
scanf("%d%d%d%d", &a, &b, &c, &d);
int A = 100 * (a == b) * a + (a + b) % 10;
int B = 100 * (c == d) * c + (c + d) % 10;
if (A == B) printf("0\n");
else if (A < B) printf("-1\n");
else printf("1\n");
}
return 0;
}