894 字
3 分钟阅读
谁管谁叫爹
题目描述
《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点,多耗一些智商。
不妨设游戏中的两个人为 A 和 B。游戏开始后,两人同时报出两个整数 N_A 和 N_B 。判断谁是爹的标准如下:
- 将两个整数的各位数字分别相加,得到两个和 S_A 和 S_B 。如果 N_A 正好是 S_B 的整数倍,则 A 是爹;如果 N_B 正好是 S_A 的整数倍,则 B 是爹;
- 如果两人同时满足、或同时不满足上述判定条件,则原始数字大的那个是爹。
本题就请你写一个自动裁判程序,判定谁是爹。
输入格式
输入第一行给出一个正整数 N (\le 100) ,为游戏的次数。以下 N 行,每行给出一对不超过 9 位数的正整数,对应 A 和 B 给出的原始数字。题目保证两个数字不相等。
输出格式
对每一轮游戏,在一行中给出赢得“爹”称号的玩家(A 或 B)。
输入样例
4
999999999 891
78250 3859
267537 52654299
6666 120
输出样例
B
A
B
A
题意
算出每组两个数的数位之和,然后根据题目指定条件判断。
思路
算数位之和就是余10除10,算完然后判断一下就行了,最简单的20分题,跟前面10分的难度差不多。
代码
void solve(){
int a,b;
cin >> a >> b;
int c = 0,d = 0;
for(int i = a;i > 0;i /= 10){
c += i % 10;
}
for(int i = b;i > 0;i /= 10){
d += i % 10;
}
if((a % d == 0 && b % c == 0) || (a % d != 0 && b % c != 0)){
if(a > b){
cout << "A\n";
}else{
cout << "B\n";
}
}else{
if(a % d == 0){
cout << "A\n";
}else{
cout << "B\n";
}
}
}

[…] 谁管谁叫爹 题解 […]