这道题正确率少得可怜,仅只有10%,但我却轻松做完:

cin>>n>>a>>b;
n%=(a+b+__gcd(a,b)*2);
if(!n){cout<<"C";return 0;}

先输入n,a,b,再求出范围,最后排除特殊值。

从题目中我们得知:攻击分三种:小爱攻击,小艾攻击,还有两人暴击,然后我们便可以写下以下代码,先来一个while:

while(n>0){
        if(i*b<j*a){n--;i++;c='A';}
        else if(i*b>j*a){n--;j++;c='B';}
        else{n-=4;i++;j++;c='C';}
}

一共有三个分支,都写上。

#include<bits/stdc++.h>
using namespace std;
int n,a,b;char c;
int main(){
    cin>>n>>a>>b;
    n%=(a+b+__gcd(a,b)*2);
    if(!n){cout<<"C";return 0;}
    int i=1,j=1;
    while(n>0){
        if(i*b<j*a){n--;i++;c='A';}
        else if(i*b>j*a){n--;j++;c='B';}
        else{n-=4;i++;j++;c='C';}
    }
    cout<<c;
    return 0;
}

完成!

谢谢!求点赞!!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐