建议降橙
查看原帖
建议降橙
1046158
A_897MIDSAM楼主2024/10/4 17:42

从没做过 一遍过```cpp #include<bits/stdc++.h> using namespace std; struct node{ int o,p; }a[100005]; int n,m;char c[150][80];bool q[150][80];int dx[4]={1,-1,0,0},dy[4]={0,0,1,-1}; void dfs(int x,int y,int js){ a[js].o=x; a[js].p=y; if(x==n&&y==m) { for(int i=1;i<=js;i++) { cout<<a[i].o<<' '<<a[i].p<<endl; } exit(0); } for(int i=0;i<=3;i++) { int di=x+dx[i]; int dj=y+dy[i]; if(di>=1&&di<=n&&dj>=1&&dj<=m&&c[di][dj]=='.'&&q[di][dj]==0) { q[di][dj]=1; dfs(di,dj,js+1); q[di][dj]=0; } } } int main() { cin>>n>>m; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cin>>c[i][j]; } } q[1][1]=1; dfs(1,1,1); return 0; }

2024/10/4 17:42
加载中...