1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int n,m,c; bool f[15][15],flag; char a[15][15]; int fx[5]={0,0,1,0,-1}; int fy[5]={0,1,0,-1,0}; struct Node{ int xe,ye; }r[150]; void print(int key){ c++; cout<<c<<":"; for (int i=1;i<key;i++)cout<<r[i].xe<<","<<r[i].ye<<"->"; cout<<n<<","<<m<<endl; } void dfs(int x,int y,int k){ r[k]={x,y}; if (x==n&&y==m){ print(k);flag=true; return; } for (int i=1;i<=4;i++){ int tx=fx[i]+x; int ty=fy[i]+y; if (tx>=1&&tx<=n&&ty>=1&&ty<=m&&!f[tx][ty]&&a[tx][ty]=='o'){ f[tx][ty]=true; dfs(tx,ty,k+1); f[tx][ty]=false; } } } int main(){ cin>>n>>m; for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++)cin>>a[i][j]; } f[1][1]=true; dfs(1,1,1); if (!flag)cout<<"no"; return 0; }
- 1
信息
- ID
- 408
- 时间
- 1000ms
- 内存
- 64MiB
- 难度
- 5
- 标签
- 递交数
- 32
- 已通过
- 16
- 上传者