1 条题解
-
0songhongyi LV 8 MOD @ 2020-09-20 13:21:13
简单模拟题
每次操作后直接算\(\gcd \)约分即可
代码如下
#include <bits/stdc++.h> using namespace std; int main () { int n; cin>>n; string str; cin>>str; int len=str.size(); int a=0,b=0; //初始时比分都是0 for (int i=0;i<len;i++) { if (str[i]=='A') { a++; } else { b++; } // 直接硬加 if ((a!=0)&&(b!=0)) // 都不是0才约分 { int gcd=__gcd(a,b); // 算gcd a/=gcd; b/=gcd; // 同时除掉gcd } if (a==n) // 除掉后a=n { cout<<"Alice"<<endl<<a<<" "<<b<<endl; //Alice获胜,直接按要求输出即可 return 0; // 后序的赛程没有意义,直接退出 } if (b==n) { cout<<"Bob"<<endl<<a<<" "<<b<<endl; return 0; // 与前面同理 } } cout<<"NO"<<endl<<a<<" "<<b<<endl; // 还没有退出,说明没有决出胜利,按要求输出 }
- 1
信息
- ID
- 1001
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者