hdu 1072 Nightmare (廣搜)

來源:互聯網
上載者:User
// Time 0ms, Memory 356K
#include<iostream>#include<cstdio>#include<queue>using namespace std;int n,m,p[9][9],sx,sy,dx[]={0,1,0,-1},dy[]={1,0,-1,0};struct point{    int x,y,time,step;    point(int x=0,int y=0,int time=0,int step=0):x(x),y(y),time(time),step(step){}};int bfs(){    point s(sx,sy,6,0),t;    queue<point>q;    int nx,ny,i;    q.push(s);    while(!q.empty())    {        s=q.front();q.pop();        for(i=0;i<4;i++)        {            nx=s.x+dx[i];ny=s.y+dy[i];            t=point(nx,ny,s.time-1,s.step+1);            if(t.x<0 || t.x>=n || t.y<0 || t.y>=m || !p[nx][ny] || t.time==0) continue;            if(p[nx][ny]==3) return t.step;            if(p[nx][ny]==4)            {                t.time=6;p[nx][ny]=0;            }            q.push(t);        }    }    return -1;}int main(){    int i,j,c;    cin>>c;    while(c--)    {        scanf("%d%d",&n,&m);        for(i=0;i<n;i++)        {            for(j=0;j<m;j++)            {                scanf("%d",&p[i][j]);                if(p[i][j]==2)                {                    sx=i;sy=j;p[i][j]=0;                }            }        }        printf("%d\n",bfs());    }    return 0;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.