L1-044 稳赢
题目链接-L1-044 稳赢
输入样例:
2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
输出样例:
Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu
解题思路
根据石头剪刀布的规则写代码就行,主要考虑需要平局的情况
- 我们可以用cnt来记录此时是第几轮
- 注意题上是:需要每隔K次就让一个平局,所以在平局的情况是cnt%(k+1)==0的时候而不是cnt%k==0
- 具体操作见代码
附上代码
#include<bits/stdc++.h>
#define int long long
#define lowbit(x) (x &(-x))
using namespace std;
const int INF=0x3f3f3f3f;
const double PI=acos(-1.0);
const double eps=1e-10;
const int M=1e9+7;
const int N=1e5+5;
typedef long long ll;
typedef pair<int,int> PII;
int cnt,k;
void fun(string s){
cnt++;
if(cnt%(k+1)==0)
cout<<s<<endl;
else{
if(s=="ChuiZi")
cout<<"Bu"<<endl;
else if(s=="JianDao")
cout<<"ChuiZi"<<endl;
else if(s=="Bu")
cout<<"JianDao"<<endl;
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>k;
string s;
while(cin>>s&&s!="End"){
fun(s);
}
return 0;
}