| ||||||||||
| 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 | |||||||||
Re:Java - why wrong answer, please help i dont know what to doIn Reply To:Java - why wrong answer, please help i dont know what to do Posted by:javaWarrior at 2007-04-05 06:27:14 >
> this 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