上海市计算机学会竞赛平台YACS最后一击
YACS
·
这道题正确率少得可怜,仅只有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;
}
完成!
谢谢!求点赞!!
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)