求解答
/*输入样例 1 4 2 0 1 输出样例: No 输入样例 4 5 1 0 1 1 2 3 2 3 4 输出样例: Yes
*/
#include<iostream>
#include<algorithm>
using namespace std;
const int N=505;
int lx[8]={0,1,0,-1,-1,-1,1,-1};
int ly[8]={1,0,-1,0,-1,1,1,1};
int a,b;
bool le;
bool vst[N][N];
void dfs(int x,int y){
int nx,ny;
if(vst[x][y]==vst[nx][ny]){
le=true;
return;
}else{
int k;
for(k=0;k<=8;k++){
nx=x+lx[k];
ny=y+lx[y];
dfs(nx,ny);
vst[x][y]=true;
}
}
}
int main(){
int n,w,r;
cin>>n>>w>>r;
for(int i=1;i<=n;i++){
cin>>a>>b;
dfs(0,0);
}
if(le==true) cout<<"yes"<<endl;
else cout<<"no"<<endl;
cin>>n;
return 0;
}
//第一个样例输出为yes
[此贴子已经被作者于2018-7-24 21:09编辑过]