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 给出的原始数字。题目保证两个数字不相等。

输出格式

对每一轮游戏,在一行中给出赢得“爹”称号的玩家(AB)。

输入样例

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";
        }
    }
}

1 条评论

  1. 2026年贵工程寒假训练题解 – 追求的个人博客 2026年1月17日

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

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注