判定字符串

来源:互联网 发布:入我相思门 知我相思苦 编辑:程序博客网 时间:2024/04/28 18:45
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”。样例输入: zojozojoozoojoooozoojoooozoojozojooooozojozojoooo样例输出: AcceptedAcceptedAcceptedAcceptedAcceptedAcceptedWrong AnswerWrong 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 blocke.printStackTrace();}}}

原创粉丝点击