中易网

求大虾解 在线等

答案:1  悬赏:40  
解决时间 2021-01-17 15:32
  • 提问者网友:不要迷恋哥
  • 2021-01-17 00:18
求大虾解 在线等
最佳答案
  • 二级知识专家网友:雪起风沙痕
  • 2021-01-17 00:43
以下程序中,0代表通路,1代表障碍,2代表从11到88的路径。将原图和所有结果屏显并输出到MIGONGCH.TXT文件中。
#include
#include
#include
#define M 8
#define N 8
#define L (M+1)*(N+1)+1
int b[L]={0};
int a[M+2][N+2]={1,1,1,1,1,1,1,1,1,1,
1,0,0,1,0,0,0,1,0,1,
1,0,0,1,0,0,0,1,0,1,
1,0,0,0,0,1,1,0,0,1,
1,0,1,1,1,0,0,0,0,1,
1,0,0,0,1,0,0,0,0,1,
1,0,1,0,0,0,1,0,0,1,
1,0,1,1,1,0,1,1,0,1,
1,1,0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1
};
void stackin(s,t)
{int i;
for(i=L-1;i>0;i--)
{b[i]=b[i-1];
}
b[0]=s*(N+2)+t;
}
int stackout()
{int i,r;
for(i=0;i {b[i]=b[i+1];
}
r=b[0];
return(r);
}
void main()
{FILE *fp;
int i,j,k,z,y,u,v,a_[M+2][N+2],a2[M+2][N+2];
if((fp=fopen("migong.txt","a+"))==NULL)
{fprintf(fp,"can not open\"words\"file.\n");
exit(1);
}
for(i=0;i {for(j=0;j {a_[i][j]=a[i][j];
a2[i][j]=a[i][j];
fprintf(fp,"%d",a[i][j]);
printf("%d",a[i][j]);
}
fprintf(fp,"\n");
printf("\n");
}
for(i=0;i {fprintf(fp,"-");
printf("-");
}
fprintf(fp,"\n");
printf("\n");
getch();
i=1,j=1;
while(i>=0&&j>=0)
{if(a_[i][j]==0)
{k=0;
stackin(i,j);
if((i!=8)||(j!=8))
{a_[i][j]=1;
}
else
{for(u=0;b[u]!=0;u++)
a2[b[u]/(N+2)][b[u]%(N+2)]=2;
for(u=0;u {for(v=0;v {fprintf(fp,"%d",a2[u][v]);
printf("%d",a2[u][v]);
a2[u][v]=a[u][v];
}
fprintf(fp,"\n");
printf("\n");
}
for(u=0;u {fprintf(fp,"-");
printf("-");
}
fprintf(fp,"\n");
printf("\n");
getch();
stackout();
z=stackout();
i=z/(N+2),j=z%(N+2);
}

}
else
{if(k==0)
{j++;
k=1;
continue;
}
if(k==1)
{j--,j--;
k=2;
continue;
}
if(k==2)
{j++;i--;k=3;
continue;
}
if(k==3)
{i++;i++;k=4;
continue;
}
if(k==4)
{i--;k=5;
continue;
}
if(k==5)
{z=stackout();
i=z/(N+2),j=z%(N+2);
}
k=0;
}
if(b[0]==(N+2)*(M+2)-(N+2)-2)
{for(u=0;b[u]!=0;u++)
a2[b[u]/(N+2)][b[u]%(N+2)]=2;
for(u=0;u {for(v=0;v fprintf(fp,"%d",a2[u][v]);
fprintf(fp,"\n");
}
}
}

if(fclose(fp)!=0)
{fprintf(stderr,"error closing file\n");
exit(1);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息