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用LinkedList为什么会WA啊~import java.util.*; public class a1915 { int beginX; int beginY; int endX; int endY; int n; int k; int[][] num; int[][] map; LinkedList<Integer> v1; LinkedList<Integer> v2; public a1915() { Scanner r=new Scanner(System.in); k=r.nextInt(); while (k>0) { n=r.nextInt(); map=new int[n][n]; num=new int[n][n]; beginX=r.nextInt(); beginY=r.nextInt(); endX=r.nextInt(); endY=r.nextInt(); v1=new LinkedList<Integer>(); v2=new LinkedList<Integer>(); v1.add(beginX); v2.add(beginY); map[beginX][beginY]=1; while(v1.isEmpty()!=true&&v2.isEmpty()!=true) { int X=v1.poll(); int Y=v2.poll(); bfs(X,Y); } System.out.println(num[endX][endY]); k--; } } public void bfs(int x,int y) { if (x==endX&&y==endY) { return; } if (x-2>=0&&y-1>=0&&map[x-2][y-1]==0) { num[x-2][y-1]=num[x][y]+1; map[x-2][y-1]=1; v1.add(x-2); v2.add(y-1); } if (x-2>=0&&y+1<n&&map[x-2][y+1]==0) { num[x-2][y+1]=num[x][y]+1; map[x-2][y+1]=1; v1.add(x-2); v2.add(y+1); } if (x-1>=0&&y-2>=0&&map[x-1][y-2]==0) { num[x-1][y-2]=num[x][y]+1; map[x-1][y-2]=1; v1.add(x-1); v2.add(y-2); } if (x-1>=0&&y+2<n&&map[x-1][y+2]==0) { num[x-1][y+2]=num[x][y]+1; map[x-1][y+2]=1; v1.add(x-1); v2.add(y+2); } if (x+1<n&&y-2>=0&&map[x+1][y-2]==0) { num[x+1][y-2]=num[x][y]+1; map[x+1][y-2]=1; v1.add(x+1); v2.add(y-2); } if (x+1<n&&y+2<n&&map[x+1][y+2]==0) { num[x+1][y+2]=num[x][y]+1; map[x+1][y+2]=1; v1.add(x+1); v2.add(y+2); } if (x+2<n&&y-1>=0&&map[x+2][y-1]==0) { num[x+2][y-1]=num[x][y]+1; map[x+2][y-1]=1; v1.add(x+2); v2.add(y-1); } if (x+2<n&&y+1<n&&map[x+1][y+1]==0) { num[x+2][y+1]=num[x][y]+1; map[x+2][y+1]=1; v1.add(x+1); v2.add(y+1); } } public static void main(String[] args) { a1915 t=new a1915(); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator