import java.io.*;
/*
*
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
是否AC的规则如下:
1. zoj能AC;
2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;
输入:
输入包含多组测试用例,每行有一个只包含'z','o','j'三种字符的字符串,字符串长度小于等于1000。
输出:
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
样例输入: zoj
ozojo
ozoojoo
oozoojoooo
zooj
ozojo
oooozojo
zojoooo
样例输出: Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Wrong Answer
Wrong Answer
*/
public class ZOJ {
private class string_list{
String v=null;
string_list next=null;
public string_list add_to_end(string_list begin,string_list end){
if(begin.next==null){
begin.next=this;
}
else{
end.next=this;
}
end = this;
return end;
}
}
string_list data;
string_list data_end;
string_list result;
string_list result_end;
public ZOJ(){
this.data=new string_list();
this.data_end=null;
this.result=new string_list();
this.result_end=null;
}
public static void main(String arg[]) {
ZOJ zoj=new ZOJ();
zoj.run();
}
public String AC(String s){
if(s.equals("zoj"))
return "Accepted";
String regex2="[o]*zoj[o]*";
if(s.matches(regex2)){
int first=s.indexOf('z');
if(first!=s.length()-3-first)
return "Wrong Answer";
return "Accepted";
}
String regex3="[o]*z[o]+j[o]*";
if(s.matches(regex3)){
int z=s.indexOf('z');
int j=s.indexOf('j');
int o=j-1;
String a=s.substring(0, z);
String b=s.substring(z+1, o);
String c=s.substring(j+1, s.length());
if(c.startsWith(a)){
c=c.substring(a.length(), c.length());
return AC(a+"z"+b+"j"+c);
}
return "Wrong Answer";
}
return "Wrong Answer";
}
public void run(){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s;
try {
while((s=br.readLine())!=null&&s.length()>0){
string_list sl=new string_list();
sl.v=s;
sl.next=null;
this.data_end=sl.add_to_end(data, data_end);
string_list result=new string_list();
result.v=this.AC(s);
result.next=null;
this.result_end=result.add_to_end(this.result, result_end);
}
br.close();
string_list sl=this.result;
while(sl.next!=null){
sl=sl.next;
System.out.println(sl.v);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
判定字符串
最新推荐文章于 2024-03-05 16:41:56 发布