原文题目:
输入输出要求:
样例:
题目大意翻译:
刽子手游戏是一款猜单词游戏,计算机想一个单词让你猜,你每次可以猜一字母 如果单词里有那个字母,所有该字母会显示出来。(例如“book”,如果猜字母“o”,则两个o都会显示出来) 如果没有那个字母,则计算机会在一幅“刽子手”画上填一 笔。这幅画一共需要7 笔就能完成,因此你最多只能错6 次。
注意,猜一个已经猜过的字母也算错。在本题中,模拟这个过程,输入单词和玩家的猜测,判断结果。
输入若干组数据,每组数据包含3行,第1行是游戏编号(-1为输入结束标记),第2行是计算机想的单词,第3行是玩家的猜测。后两行保证只含小写字母。
输出每组对应两行,第一行为游戏编号,格式为“Round 局数”(无引号,中间有空格),第二行为游戏结果,如果玩家获胜,输出”You win.”,如果玩家失败,输出”You lose.”,如果参赛者没有猜到足够的字母就退出,输出”You chickened out.”(句末有句点,无引号)
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){
int num1 = sc.nextInt();
if(num1 == -1){
break;
}
String str1 = sc.next();
String str2 = sc.next();
int tj1 = str1.length(); //是否通关
int tj2 = 7; //是否失败
char[] c1 = str1.toCharArray();
char[] c2 = str2.toCharArray();
for(int i = 0;i<str2.length();i++){
int js1 = 0;
int js2 = 1;
for(int k =0;k<i;k++)
if(c2[i]==c2[k]){
js2=0;
break;
}
if(js2==0){
tj2--;
continue;
}
for(int j = 0;j<str1.length();j++){
if(c2[i]==c1[j]){
tj1--;
js1=1;
}
}
if(js1==0){
tj2--;
}
if(tj1==0||tj2==0)
break;
}
System.out.println("Round "+num1);
if(tj1<=0){//通关
System.out.println("You win.");
}else if(tj2<=0){//失败
System.out.println("You lose.");
}else{//逃跑
System.out.println("You chickened out.");
}
}
}
}