Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

给的例子能通过,提交就WA,哪位大神帮忙看下~~

Posted by liujianlong at 2012-08-04 19:22:11 on Problem 1915
#include <iostream>
#include <string.h>
#include <queue>
#include <stdio.h>


using namespace std;

int visited[301][301];
int move[8][2]={{-1,-2},{-1,2},{1,-2},{1,2},{-2,-1},{-2,1},{2,-1},{2,1}};
struct node
{
    int x,y;
    int steps;
}start,end;
int m;



int check(int x,int y)
{
    if(x>=0&&x<=m&&y>=0&&y<=m)
    {
         return 1;
    }
    return 0;

}


int bfs(int x,int y)
{
    queue<node> que;
    node tmp,next;
    start.x=x;
    start.y=y;
    start.steps=0;
    memset(visited,0,sizeof(visited));
    que.push(start);
    while(!que.empty())
    {
        tmp=que.front();
        visited[tmp.x][tmp.y]=1;
        que.pop();
        for(int i=0;i<8;i++)
        {
            next.x=tmp.x+move[i][0];
            next.y=tmp.y+move[i][1];
            if(check(next.x,next.y)&&!visited[next.x][next.y])
            {
                next.steps=tmp.steps+1;
                que.push(next);
                visited[next.x][next.y]=1;
                if(next.x==end.x&&next.y==end.y)
                {
                    return next.steps;
                }
            }

        }
    }
    return 0;
}


int main()
{
    //freopen("in.txt","r",stdin);
    int n,k;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>m>>start.x>>start.y>>end.x>>end.y;
        k=bfs(start.x,start.y);
        cout<<k<<endl;

    }
    return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator