📄 migongwenti.cpp.cpp
字号:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
void main()
{
int m,n,i,j,kind,step;
int Maze[50][50];
int row[50];
int col[50];
printf("input m,n:");
scanf("%d,%d",&m,&n);
if(m>50||n>50)
printf("it is a wrong number!");
for(i=0;i<=m+1;i++)
for(j=0;j<=n+1;j++)
{
if(i == 0 || j == 0 || i == m + 1 || j == n + 1)
Maze[i][j] = 1;
else
Maze[i][j]=(rand()%10>7)?1:0;
}
Maze[1][1]=0;
Maze[m][n]=0;
i=1;
j=1;
kind=0;
step=0;
while((kind!=6)&&(kind!=7))
{
if((i==m)&&(j==n))
{
kind=6;
Maze[i][j]=kind;
continue;
}
if((Maze[i][j+1]==0)&&(kind!=4))
{
row[step]=i;col[step]=j;
kind=2;
Maze[i][j]=kind;
step++;
j++;
continue;
}
if((Maze[i+1][j]==0)&&(kind!=5))
{
row[step]=i;
col[step]=j;
kind=3;
Maze[i][j]=kind;
step++;
i++;
continue;
}
if((Maze[i][j-1]==0)&&(kind!=2))
{
row[step]=i;
col[step]=j;
kind=4;
Maze[i][j]=kind;
step++;
j--;
continue;
}
if((Maze[i-1][j]==0)&&(kind!=3))
{
row[step]=i;
col[step]=j;
kind=5;
Maze[i][j]=kind;
step++;
i--;
continue;
}
if((i==1)&&(j==1))
{
Maze[1][1]=0;
Maze[m][n]=0;
kind=7;
continue;
}
Maze[i][j]=7;
step--;
i=row[step];
j=col[step];
}
for(i=0; i<m+2; ++i)
{
for(j=0; j<n+2; ++j)
{
switch(Maze[i][j])
{
case 1: printf("■"); break;
case 2: printf("→"); break;
case 3: printf("↓"); break;
case 4: printf("←"); break;
case 5: printf("↑"); break;
case 6: printf("|>"); break;
default: printf(" "); break;
}
}
printf("\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -