L1-044. 稳赢
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。
输入格式:
输入首先在第一行给出正整数K(<=10),即平局间隔的次数。随后每行给出对方的一次出招:“ChuiZi”代表“锤子”、“JianDao”代表“剪刀”、“Bu”代表“布”。“End”代表输入结束,这一行不要作为出招处理。
输出格式:
对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。
输入样例:2 ChuiZi JianDao Bu JianDao Bu ChuiZi ChuiZi End输出样例:
Bu ChuiZi Bu ChuiZi JianDao ChuiZi Bu
注意:隔k次不是%k而是%(k+1)
1 #include<bits/stdc++.h> 2 using namespace std; 3 #define c "ChuiZi" 4 #define j "JianDao" 5 #define b "Bu" 6 int main() { 7 int k, t = 0; 8 string s; 9 cin >> k; 10 while (cin >> s) { 11 if (s == "End") 12 break; 13 t++; 14 if (s == c) { 15 printf ("%s\n", t % (k + 1) == 0 ? c : b); 16 } else if (s == j) { 17 printf ("%s\n", t % (k + 1) == 0 ? j : c); 18 } else 19 printf ("%s\n", t % (k + 1) == 0 ? b : j); 20 21 } 22 }