Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
57156 | 张承志 | 走迷宫 | C++ | 通过 | 100 | 8 MS | 260 KB | 557 | 2022-08-03 21:34:56 |
#include <iostream> using namespace std; int step=0,pathx[100],pathy[100],dx[9]={0,-1,0,1,0,-1,-1,1,1},dy[9]={0,0,1,0,-1,-1,1,-1,1},n,a[100][100],x1,y1,x2,y2,s=0; void move(int x,int y) { step++; pathx[step]=x; pathy[step]=y; if(x==1&&y==n) s++; a[x][y]=1; for(int i=1;i<=8;i++) { int xx=x+dx[i]; int yy=y+dy[i]; if(xx>=1&&xx<=n&&yy>=1&&yy<=n&&a[xx][yy]==0) { move(xx,yy); a[xx][yy]=0; step--; } } } int main(){ cin>>n; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j]; move(1,1); cout<<s; }