至
题目链接:https://ac.nowcoder.com/acm/contest/109904/C
题意:
给定2xn的矩阵,以及两个坐标,求是否能通过放置障碍物使得两个坐标到达(2,n)的最短路径长度相同
思路:
分类讨论
需要注意当一个在上,一个在下的情况,显然纵坐标差一才有可能成立
然而这也有两种不同情况
//01#00
//10000
//00001
//0001.
//0001#
//001x.
//01x00
//001#.
//00100
//0001.
//00010
//00001
void solve(){
int n;cin>>n;
pii a,b;cin>>a.fi>>a.se;
cin>>b.fi>>b.se;
int ok=0;
if(a.fi==2){
swap(a,b);
}
if(a.fi==b.fi){
if(a.se==b.se){
ok=1;
}else ok=0;
}else{
if(a.se==b.se)ok=0;
else if(a.se-b.se==1){
ok=1;
}else if(b.se-a.se==1){
if(b.se+1>=n){
ok=0;
}else ok=1;
}else{
ok=0;
}
}
if(ok){
cout<<"YES"<<endl;
}else cout<<"NO"<<endl;
}

浙公网安备 33010602011771号