竞赛
考级
这个题目其实非常简单,也用不到什么深度优先搜索,我这边的方法不是深度优先搜索,直接判断即可。 但是我要强调一下我的题解仅供学习参考交流,不要复制然后不思考做题,这样是没有意义的在洛谷也是违规的。希望大家看了我的题解能有帮助:
Longzhen Chen
代码的主要功能是: 读取网格的大小 (n 行 m 列) 和一个初始位置 (x,y) 检查该位置的四个相邻方向 (右、下、左、上) 的位置是否在网格范围内 对每个方向,如果相邻位置有效则输出其坐标,否则输出 "NA" 注释清晰说明了变量的含义、方向数组的作用以及坐标有效性的判断逻辑,便于理解代码的执行流程。
159****6303
xerography
#include<bits/stdc++.h> using namespace std; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; int main(){ int n,m; int x,y; cin>>n>>m>>x>>y; for(int i=0;i<4;i++){ int xx=x+dx[i]; int yy=y+dy[i]; if(xx>=1 && xx<=n && yy>=1 && yy<=m){ cout<<xx<<" "<<yy<<endl; } else cout<<"NA"<<endl; } return 0; }
问问老师
一条小蛇~
有事找大号
会个判断就行,要什么深搜......
枫岚
#include<bits/stdc++.h> using namespace std; int n,m,x,y; int dir_x[4]={0,1,0,-1}; int dir_y[4]={1,0,-1,0}; bool check(int x,int y){ return x>=1&&x<=n&&y>=1&&y<=m; } int main(){ cin>>n>>m>>x>>y; for(int i=0;i<4;i++){ int nx=x+dir_x[i]; int ny=y+dir_y[i]; if(check(nx,ny)) cout<<nx<<" "<<ny<<endl; else cout<<"NA"<<endl; } return 0; }
c++王子
#include<bits/stdc++.h> using namespace std; int n,m,x,y; int dx[4]={0,1,0,-1}; int dy[4]={1,0,-1,0}; int main(){ cin>>n>>m>>x>>y; for(int i=0;i<=3;i++){ int l=x+dx[i]; int p=y+dy[i]; if(l<1||l>n||p<1||p>m){ cout<<"NA"<<endl; } else cout<<l<<" "<<p<<" "<<endl; } return 0; }
135****2925
天之神-南宫凌雁(鱼航员)
CEGO.tyx
共32条
提交答案之后,这里将显示提交结果~