L1-044 稳赢
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。
输入格式:
输入首先在第一行给出正整数K(≤10),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi
代表“锤子”、JianDao
代表“剪刀”、Bu
代表“布”。End
代表输入结束,这一行不要作为出招处理。
输出格式:
对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。
输入样例:
tex
2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
输出样例:
tex
Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu
Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu
Solution:
java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(in.readLine());
String s = in.readLine();
int index = 0;
StringBuilder sb = new StringBuilder();
while (!s.equals("End")) {
index++;
if (index % (n + 1) == 0) {
sb.append(s).append("\n");
} else {
switch (s) {
case "JianDao":
sb.append("ChuiZi\n");
break;
case "ChuiZi":
sb.append("Bu\n");
break;
case "Bu":
sb.append("JianDao\n");
break;
}
}
s = in.readLine();
}
System.out.print(sb);
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(in.readLine());
String s = in.readLine();
int index = 0;
StringBuilder sb = new StringBuilder();
while (!s.equals("End")) {
index++;
if (index % (n + 1) == 0) {
sb.append(s).append("\n");
} else {
switch (s) {
case "JianDao":
sb.append("ChuiZi\n");
break;
case "ChuiZi":
sb.append("Bu\n");
break;
case "Bu":
sb.append("JianDao\n");
break;
}
}
s = in.readLine();
}
System.out.print(sb);
}
}