Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Java - why wrong answer, please help i dont know what to dothis is my code: import java.io.*; import java.util.*; class Main { static boolean evalRangos(char a,int i) { boolean bol=false; switch(i) { case 1: if(a>'0' && a<='9') bol=true; break; case 2: if(a>='0' && a<='9') bol=true; break; } return bol; } static boolean friends(char x[], char y[]) { int i,j; for(i=0;i<x.length;i++){ for(j=0;j<y.length;j++) if(x[i]==y[j]) break; if(j==y.length)break; } return (i==x.length); } static boolean almostFriends(char x[], char y[]) { int i; boolean bol; for(i=0;i<x.length-1;i++){ StringBuffer xcopy=new StringBuffer(); xcopy.append(x); xcopy.setCharAt(i,(char)(x[i]-(char)1)); xcopy.setCharAt(i+1,(char)(x[i+1]+(char)1)); if(evalRangos((char)(x[i]-(char)1),1) && evalRangos((char)(x[i+1]+(char)1),2)) if(friends(xcopy.toString().toCharArray(),y))break; xcopy.setCharAt(i,(char)(x[i]+(char)1)); xcopy.setCharAt(i+1,(char)(x[i+1]-(char)1)); if(evalRangos((char)(x[i]+(char)1),1) && evalRangos((char)(x[i+1]-(char)1),2)) if(friends(xcopy.toString().toCharArray(),y))break; } bol=(i<x.length-1)?true:false; if(!bol){ for(i=0;i<y.length-1;i++){ StringBuffer ycopy=new StringBuffer(); ycopy.append(y); ycopy.setCharAt(i,(char)(y[i]-(char)1)); ycopy.setCharAt(i+1,(char)(y[i+1]+(char)1)); if(evalRangos((char)(y[i]-(char)1),1) && evalRangos((char)(y[i+1]+(char)1),2)) if(friends(x,ycopy.toString().toCharArray()))break; ycopy.setCharAt(i,(char)(y[i]+(char)1)); ycopy.setCharAt(i+1,(char)(y[i+1]-(char)1)); if(evalRangos((char)(y[i]+(char)1),1) && evalRangos((char)(y[i+1]-(char)1),2)) if(friends(x,ycopy.toString().toCharArray()))break; } bol=(i<y.length-1)?true:false; } return bol; } public static void main(String[] args)throws IOException { //BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); BufferedReader br=new BufferedReader(new FileReader("in.txt")); StringBuffer s= new StringBuffer(); StringTokenizer st; int t=new Integer(br.readLine()); while(t-->0) { st=new StringTokenizer(br.readLine()); char x[]=st.nextToken().toCharArray(); char y[]=st.nextToken().toCharArray(); boolean b; if(x.length<y.length) b=friends(x,y); else b=friends(y,x); if(b)s.append("friends\n"); else{ boolean bol; if(x.length<y.length) bol=almostFriends(x,y); else bol=almostFriends(y,x); if(bol)s.append("almost friends\n"); else s.append("nothing\n"); } } System.out.println(s); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator