-
Bio
#include<bits/stdc++.h> using namespace std; char maze[105][105]; bool vis[105][105]; int n,m,dir[4][2]={{1,0},{0,1},{0,-1},{-1,0}}; bool in(int x,int y) { return x>=0&&x<n&&y>=0&&y<m; } bool dfs(int x,int y) { vis[x][y]=1; if(maze[x][y]=='T') return 1;
for(int i=0;i<4;i++) { int tx=x+dir[i][0]; int ty=y+dir[i][1]; if(in(tx,ty)&&maze[tx][ty]!='*'&&!vis[tx][ty]) { if(dfs(tx,ty)) return 1; } } return 0;
} int main() { cin>>n>>m; int sx,sy; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>maze[i][j]; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(maze[i][j]=='S') { sx=i; sy=j; } } } if(dfs(sx,sy)) cout<<"yes"; else cout<<"no"; return 0; } /* 5 6 .S...* ..... ..... ..... ....T
"no"
5 6 .S...* ....*. .*.... ..*... .*...T "yes"
*/
#include<bits/stdc++.h> using namespace std; char maze[105][105]; bool vis[105][105]; int n,m,dir[4][2]={{1,0},{0,1},{0,-1},{-1,0}},cnt=0; bool in(int x,int y) { return x>=0&&x<n&&y>=0&&y<m; } void dfs(int x,int y) { vis[x][y]=1; if(maze[x][y]'T') cnt++; for(int i=0;i<4;i++) { int tx=x+dir[i][0]; int ty=y+dir[i][1]; if(in(tx,ty)&&maze[tx][ty]!='*'&&!vis[tx][ty]) { dfs(tx,ty); } } vis[x][y]=0; } int main() { cin>>n>>m; int sx,sy; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>maze[i][j]; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(maze[i][j]'S') { sx=i; sy=j; } } } dfs(sx,sy); cout<<cnt; return 0; } /* 5 6 .S... ..... .... .... ...T..
16
*/
#include<bits/stdc++.h> using namespace std; char maze[105][105]; bool vis[105][105]; int n,m,dir[4][2]={{1,0},{0,1},{0,-1},{-1,0}},minn=10000; bool in(int x,int y) { return x>=0&&x<n&&y>=0&&y<m; } void dfs(int x,int y,int step) { vis[x][y]=1; if(maze[x][y]'T') { if(step<minn) minn=step; } for(int i=0;i<4;i++) { int tx=x+dir[i][0]; int ty=y+dir[i][1]; if(in(tx,ty)&&maze[tx][ty]!='*'&&!vis[tx][ty]) { dfs(tx,ty,step+1); } } vis[x][y]=0; } int main() { cin>>n>>m; int sx,sy; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>maze[i][j]; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(maze[i][j]'S') { sx=i; sy=j; } } } dfs(sx,sy,0); cout<<minn; return 0; } /* 5 6 .S... ..... .... .... ...T..
6
*/
#include<bits/stdc++.h> using namespace std; char maze[105][105]; bool vis[105][105]; int n,m,dir[4][2]={{1,0},{0,1},{0,-1},{-1,0}},minn=10000; bool in(int x,int y) { return x>=0&&x<n&&y>=0&&y<m; } void dfs(int x,int y,int step) { vis[x][y]=1; if(step>=minn) return ; if(maze[x][y]'T') { if(step<minn) minn=step; } for(int i=0;i<4;i++) { int tx=x+dir[i][0]; int ty=y+dir[i][1]; if(in(tx,ty)&&maze[tx][ty]!='*'&&!vis[tx][ty]) { dfs(tx,ty,step+1); } } vis[x][y]=0; } int main() { cin>>n>>m; int sx,sy; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>maze[i][j]; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(maze[i][j]'S') { sx=i; sy=j; } } } dfs(sx,sy,0); cout<<minn; return 0; } /* 5 6 .S... ..... .... .... ...T..
6
*/
-
Recent Activities
- 7.12 IOI
- 社团拔高班期末考试 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十五次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十三次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十二次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十一次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十一次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第十次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第九次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第八次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第七次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第七次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第六次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第六次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第五次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第五次训练 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第四次训练复盘 IOI
- [柳泉中学,龙凤苑中学,科技苑中学]拔高班第四次训练 IOI
- [柳泉中学,龙凤苑中学]拔高班第三次训练复盘 IOI
- [柳泉中学,龙凤苑中学]拔高班第三次训练 IOI
- [柳泉中学,龙凤苑中学]拔高班第二次训练复盘 IOI
- 淄博柳泉中学零基础3.7 IOI
- [柳泉中学,龙凤苑中学]拔高班第二次训练 IOI
- 淄博柳泉中学零基础3.4 IOI
- [柳泉中学,龙凤苑中学]有基础摸底测试 OI
- 竞赛B班作业1 IOI