哀_心 2014-09-06 07:37
浏览 1108

poj3009题无法AC,但是测试数据对,如何解决

#include
int ans;
int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1};
int m,n;
int square[30][30]={0};

void dfs(int x,int y,int step);

int main()
{
int i,j;
int p,q;
ans=12;
while(scanf("%d%d",&m,&n)!=EOF&&(m+n))
{
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
scanf("%d",&square[i][j]);
if(square[i][j]==2)
{
square[i][j]=0;
p=i;
q=j;
}
}
dfs(p,q,0);
if(ans<11)
printf("%d\n",ans);
else
printf("-1\n");
}
}

void dfs(int x,int y,int step)
{
int i,xx1,yy1,xx,yy;
if(step>10)
return;
for(i=0;i {
xx=x+dx[i];
yy=y+dy[i];
if(step=0&&xx=0&&yy {
while(xx>=0&&xx=0&&yy {
xx=xx+dx[i];
yy=yy+dy[i];
}
xx1=xx-dx[i];
yy1=yy-dy[i];
if(xx>=0&&xx=0&&yy<m)
{
if(square[xx][yy]==3)
ans=step+1;
else
{
square[xx][yy]=0;
dfs(xx1,yy1,step+1);
square[xx][yy]=1;
}
}
}
}
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 用PLC设计纸袋糊底机送料系统
    • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
    • ¥15 用C语言输入方程怎么
    • ¥15 网站显示不安全连接问题
    • ¥15 github训练的模型参数无法下载
    • ¥15 51单片机显示器问题
    • ¥20 关于#qt#的问题:Qt代码的移植问题
    • ¥50 求图像处理的matlab方案
    • ¥50 winform中使用edge的Kiosk模式
    • ¥15 关于#python#的问题:功能监听网页