3 条题解
-
-4
写题解请注意 鼓励大家写题解,但注意题解格式。
题解一定要有思路解析或代码注释,能否让别人理解你的思路
也是你的能力的检验,不要只放无意义的代码给大家复制,那就失去了做题的初心。
给代码两端加上这个会舒服一些
```cpp
你的代码
```
</span>
这个点在键盘的左上角tab上面那个键,注意切换输入法
#include<iostream> using namespace std; int main() { int n; cin>>n;//这是一个注释 return 0; }
请注意严禁抄袭题解,写题解不要只放代码,需加上你的思路或代码注释。
抄袭题解一经发现直接取消成绩。
题解被删除的可能
- 代码不符合格式规范
- 没有思路讲解或者没有注释,
- 无意义的题解
大家携手共同维护一个良好的编程环境,如果一经发现,多次作乱。可能会被管理员拉黑,请注意,一旦拉黑即失去登陆资格。
-
-5
马可以跳的位置在棋盘上有8个位置,设置好对应的方向数组,然后就是标准的广搜模板代码。 #include<iostream> #include<queue> using namespace std; int n,m,dis[155][155],sx,sy,ex,ey; char a[155][155]; bool vis[155][155]; int dx[8]={2,1,-1,-2,-2,-1,1,2}; int dy[8]={-1,-2,-2,-1,1,2,2,1};//方向数组 struct point { int x,y; }; queue<point> q; void bfs(int x,int y) { vis[x][y]=true; q.push((point){x,y}); dis[x][y]=0; while(q.size()>0) { point now=q.front(); q.pop(); for(int i=0;i<8;i++) { int nx=now.x+dx[i]; int ny=now.y+dy[i]; if(a[nx][ny]=='H') { dis[nx][ny]=dis[now.x][now.y]+1; return ; } if(nx>=1&&nx<=m&&ny>=1&&ny<=n&&!vis[nx][ny]&&a[nx][ny]!='*') { vis[nx][ny]=true; dis[nx][ny]=dis[now.x][now.y]+1; q.push((point){nx,ny}); } } } } int main() { ios::sync_with_stdio(false); cin.tie(0); cin>>n>>m; for(int i=1;i<=m;i++) { for(int j=1;j<=n;j++) { cin>>a[i][j]; if(a[i][j]=='K') { sx=i;//记录起点 sy=j; } if(a[i][j]=='H') { ex=i,ey=j;//记录终点 } } } bfs(sx,sy); cout<<dis[ex][ey]; return 0; }
- 1
信息
- ID
- 438
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 34
- 已通过
- 22
- 上传者