23-5-17--练习--谁管谁叫爹

L1-8 谁管谁叫爹
分数 20
作者 陈越
单位 浙江大学

die.jpg

《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲,来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点,多耗一些智商。
不妨设游戏中的两个人为 A 和 B。游戏开始后,两人同时报出两个整数 NA 和 NB。判断谁是爹的标准如下:

  • 将两个整数的各位数字分别相加,得到两个和 SA 和 SB。如果 NA 正好是 SB 的整数倍,则 A 是爹;如果 NB 正好是 SA 的整数倍,则 B 是爹;
  • 如果两人同时满足、或同时不满足上述判定条件,则原始数字大的那个是爹。
    本题就请你写一个自动裁判程序,判定谁是爹。

输入格式:

输入第一行给出一个正整数 N(100),为游戏的次数。以下 N 行,每行给出一对不超过 9 位数的正整数,对应 A 和 B 给出的原始数字。题目保证两个数字不相等。

输出格式:

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

输入样例:

4
999999999 891
78250 3859
267537 52654299
6666 120
 

输出样例:

B
A
B
A

代码如下:

#include <iostream>

using namespace std;

int main(){
    
    int n;
    cin>>n;
    while(n--){
        long long na,nb;
        cin>>na>>nb;
        long long sa=0,sb=0;
        long long a=na,b=nb;
        while(a>0)
        {
            sa+=a%10;
            a/=10;
        }
        while(b>0)
        {
            sb+=b%10;
            b/=10;
        }
        int flag1=0,flag2=0;
        if(na%sb==0)
        {
            flag1=1;
        }
        if(nb%sa==0)
        {
            flag2=1;
        }
        
        if((flag1&&flag2)||(!flag1&&!flag2))
        {
            if(na>nb)
            {
                cout<<"A"<<endl;
            }else{
                cout<<"B"<<endl;
            }
        }else{
            if(flag1)
            {
                cout<<"A"<<endl;
            }else{
                cout<<"B"<<endl;
            }
        }
    }
    
    
}

结果如下:

 

posted on 2023-05-17 20:45  Daniel350  阅读(267)  评论(0编辑  收藏  举报