| ||||||||||
| 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