| 记录编号 | 
        336156 | 
        评测结果 | 
        AAAAAAAAAA | 
    
    
        | 题目名称 | 
        1105.走迷宫 | 
        最终得分 | 
        100 | 
            
    
    
        | 用户昵称 | 
         Zwoi_只会打表抄代码的蒟蒻 | 
        是否通过 | 
        通过 | 
    
    
        | 代码语言 | 
        C | 
        运行时间 | 
        0.012 s  | 
    
    
        | 提交时间 | 
        2016-11-02 22:00:27 | 
        内存使用 | 
        0.27 MiB  | 
        
    
    
    
    		显示代码纯文本
		
		#include <stdio.h>
int map[20][20],book[20][20],n,m,x[400],y[400],j,xx,yy,e,nx,ny;
void dfs(int x1,int y1,int step)
{
int next[4][2]=
{
{-1,0},
{0,-1},
{0,1},
{1,0}
};
int i,ii,nx,ny;
	if(x1==xx&&y1==yy)
	{
		e++;
		for(ii=1;ii<=step-1;ii++)
			printf("(%d,%d)->",x[ii],y[ii]);
		printf("(%d,%d)\n",x1,y1);
	}
	for(i=0;i<=3;i++)
	{
		nx=x1+next[i][0];
		ny=y1+next[i][1];
		if(nx>n||nx<1||ny>m||ny<1)
			continue;
		if(map[nx][ny]==1&&book[nx][ny]==0)
		{
			step++;
			x[step]=nx;
			y[step]=ny;
			book[nx][ny]=1;
			dfs(nx,ny,step);
			step--;
			book[nx][ny]=0;
		}
	}
	return ;
}
int main()
{
	int i;
	freopen("maize.in","r",stdin);
	freopen("maize.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%d",&map[i][j]);
	scanf("%d%d",&x[1],&y[1]);
	scanf("%d%d",&xx,&yy);
	e=-1;
	book[x[1]][y[1]]=1;
	dfs(x[1],y[1],1);
	if(e==-1)
		printf("-1");
	return 0;
}