问题标题: 酷町堂:5257 猜拳游戏2

0
0
田悦妍
田悦妍
新手守护
新手守护

题目链接: 酷町堂:5257

酷酷和丁丁玩猜拳,两人都按照一定的规律出拳,我们用A,B,C分别表示石头,剪刀,布。比如酷酷出拳的规律是“ABBC”,即他按照“石头,剪刀,剪刀,布,石头,剪刀,剪刀,布,……” 的顺序不断出拳。
现在给出两个人的出拳规律,以及比赛的局数n,请你算出猜了n局之后,谁获胜?

输入描述 Input De**ion

输入两行字符串,分别表示酷酷和丁丁出拳的规律;
第三行输入一个正整数n,表示猜拳的局数。

输出描述 Output De**ion

如果酷酷赢的局数多,输出“酷酷赢”以及赢的局数,空格隔开;
如果丁丁赢的局数多,输出“丁丁赢”以及赢的局数,空格隔开;
如果打成平局,则输出“平局”。

样例输入 Sample Input

ABC AB 5

样例输出 Sample Output

酷酷赢 2

数据范围及提示 Data Size & Hint

n<=1000

错误代码:

#include <iostream>

#include <string>

using namespace std;

string a,b;

int n,A,B,x,y;

bool win(char X,char Y){

if(X=='A'&&Y=='B'||X=='B'&&Y=='C'||X=='C'&&Y=='A'){

return true;

return false;

}

}

int main(){

cin>>a>>b>>n;

x=a.size();

y=b.size();

for(int i=0;i<=n-1;i++){

if(win(a[i%x],b[i%y]))A++;

if(win(a[i%y],b[i%x]))B++;

}

if(A>B)cout<<"酷酷赢"<<A;

if(A<B)cout<<"丁丁赢"<<B;

if(A==B)cout<<"平局";

return 0;

}


1
宣瑞涵
宣瑞涵
高级守护
高级守护

win函数的大括号位置错了

第二个if(win)和第一个反过来

输出要有空格

0
0
我要回答