1 条题解
-
0
按照题意模拟即可。
代码如下:
#include<iostream> #include<string.h> using namespace std; int n,m; char ch[105][105]; bool qp[105][105]; int sx,sy,ex,ey; int ax[105],ay[105],len; bool flag=false; void dfs(int x,int y) { if(qp[x][y]==false)return; if(x==ex&&y==ey) { flag=true; cout<<"("<<ax[1]<<","<<ay[1]<<")"; for(int i=2;i<=len;i++) { cout<<"->("<<ax[i]<<","<<ay[i]<<")"; } cout<<"->("<<ex<<","<<ey<<")"<<endl; } len++; ax[len]=x; ay[len]=y; qp[x][y]=false; dfs(x,y-1); dfs(x-1,y); dfs(x,y+1); dfs(x+1,y); qp[x][y]=true; len--; } int main() { memset(qp,false,sizeof(qp)); cin>>n>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>ch[i][j]; if(ch[i][j]=='M') { sx=i,sy=j; qp[i][j]=true; } if(ch[i][j]=='E') { ex=i,ey=j; qp[i][j]=true; } if(ch[i][j]=='.')qp[i][j]=true; } } dfs(sx,sy); if(flag==false)cout<<"-1"; return 0; }
记得
好评
,球球了!
- 1
信息
- ID
- 46
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 8
- 已通过
- 6
- 上传者