7 solutions
-
0
稀里糊涂就过了,哈哈哈,祝大家好运,对了,那个起点要特判一下哦,注意了
#include<iostream> using namespace std; const int N=1e2+10; int n; int sx,sy,ex,ey; int map[N][N]; int vis[N][N]={0}; int dx[4]={-1,0,1,0}; int dy[4]={0,-1,0,1}; void dfs(int x,int y) { if(x>=n&&y>=n) return; if(x==ex&&y==ey) { cout<<"YES"; return; } if(vis[x][y]==1) return; vis[x][y]=1; for(int i=0;i<4;i++) { int xx=dx[i]+x; int yy=dy[i]+y; if(vis[xx][yy]!=1&&xx>0&&xx<=n&&yy>0&&yy<=n) { vis[xx][yy]=1; dfs(xx,yy); vis[xx][yy]=0; } } cout<<"NO"; } int main() { //cout<<N; cin>>n; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { cin>>map[i][j]; } } cin>>sx>>sy>>ex>>ey; map[sx][sy]=1; dfs(sx,sy); return 0; }
Information
- ID
- 767
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 8
- Tags
- # Submissions
- 922
- Accepted
- 163
- Uploaded By