题目1006:ZOJ问题
以上代码,使用排除法,排除所有不能通过的情况。主要有
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String s1 = sc.next();
int error=0,j=0,z=0,z1=0,j1=0;
for(int i=0;i<s1.length();i++){
if (s1.charAt(i) =='z') {z++;z1=i;}
if (s1.charAt(i) =='j') {j++;j1=i;}
}
if(z!=1 || j!=1) error++;
else if(z1>j1) error++;
else if(s1.startsWith("z") && s1.endsWith("j") && s1.contains("o"));
else if(s1.startsWith("z") || s1.endsWith("j")) error++;
else{
String[] s2 = s1.split("z");
String[] s3 = s2[1].split("j");
if(s3[1].length()%s2[0].length()!=0) error++;
int m = s3[1].length()/s2[0].length();
if(s3[0].length()==m) ;
else error++;
}
if(error!=0) System.out.println("Wrong Answer");
else System.out.println("Accepted");
}
}
}<strong>
</strong>
以上代码,使用排除法,排除所有不能通过的情况。主要有
1 Z和J的数量不为1 如ZZOOJJ
2 Z的位置后于J 如JOZ
3 只有Z开头或只有J结尾 如ZOJOOO
4 ZJ中间没有O 如OZJO
5 Z前的O与J后的O不满足条件 如OOZOJO