这道题正确率少得可怜:10%。
#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;
}
n%=(a+b+__gcd(a,b)*2); 控制范围
if(!n){cout<<"C";return 0;} 特殊值
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';}
} 分支。