团体程序设计天梯赛L1-044 稳赢

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;
}

发布了123 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Fiveneves/article/details/104706400
今日推荐