L1-044. 稳赢
2018-03-20 21:44
375 查看
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。输入格式:输入首先在第一行给出正整数K(<=10),即平局间隔的次数。随后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。输出格式:对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。输入样例:
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
string s[10001];
int num = 0;
while (true) {
cin >> s[num++];
if (s[num - 1] == "End") {
break;
}
}
int flag = 0;
for (int i = 0; i < num; i++) {
if (s[i] == "End") {
break;
}
if (flag==n) {
cout << s[i] << endl;
flag = 0;
}
else {
if (s[i] == "ChuiZi") {
cout << "Bu" << endl;
flag++;
}
else if (s[i] == "JianDao") {
cout << "ChuiZi" << endl;
flag++;
}
else if (s[i] == "Bu") {
cout << "JianDao" << endl;
flag++;
}
}
}
return 0;
}改良代码如下:#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
string s;
cin >> s;
int flag = 0;
while (s!="End") {
if (flag==n) {
cout << s << endl;
flag = 0;
}
else {
if (s == "ChuiZi") {
cout << "Bu" << endl;
flag++;
}
else if (s == "JianDao") {
cout << "ChuiZi" << endl;
flag++;
}
else if (s == "Bu") {
cout << "JianDao" << endl;
flag++;
}
}
cin >> s;
}
return 0;
}
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。输入格式:输入首先在第一行给出正整数K(<=10),即平局间隔的次数。随后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。输出格式:对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。输入样例:
2 ChuiZi JianDao Bu JianDao Bu ChuiZi ChuiZi End输出样例:
Bu ChuiZi Bu ChuiZi JianDao ChuiZiBu#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
string s[10001];
int num = 0;
while (true) {
cin >> s[num++];
if (s[num - 1] == "End") {
break;
}
}
int flag = 0;
for (int i = 0; i < num; i++) {
if (s[i] == "End") {
break;
}
if (flag==n) {
cout << s[i] << endl;
flag = 0;
}
else {
if (s[i] == "ChuiZi") {
cout << "Bu" << endl;
flag++;
}
else if (s[i] == "JianDao") {
cout << "ChuiZi" << endl;
flag++;
}
else if (s[i] == "Bu") {
cout << "JianDao" << endl;
flag++;
}
}
}
return 0;
}改良代码如下:#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
string s;
cin >> s;
int flag = 0;
while (s!="End") {
if (flag==n) {
cout << s << endl;
flag = 0;
}
else {
if (s == "ChuiZi") {
cout << "Bu" << endl;
flag++;
}
else if (s == "JianDao") {
cout << "ChuiZi" << endl;
flag++;
}
else if (s == "Bu") {
cout << "JianDao" << endl;
flag++;
}
}
cin >> s;
}
return 0;
}