题目传送门
题意
在同一平面内,有三个障碍物和两个点,障碍物不能跨越,问能不能从一个点走到另外一个点。
思路
先把输入的变量处理一下,然后我们判断相邻的点有没有解,然后输出。
代码
#include <bits/stdc++.h>
using namespace std;
double sec[6];
double h,m,s,t1,t2;//输入数据
double p,q,r,x,y;//处理后的数据
int main(){
cin>>h>>m>>s>>t1>>t2;
p=(h+m/60+s/3600)/12;
q=(m+s/60)/60;
if(p>1) p--;
if(q>1) q--;
r=s/60,x=t1/12,y=t2/12,sec[1]=p,sec[2]=q,sec[3]=r,sec[4]=x,sec[5]=y;
sort(sec+1,sec+5+1);
if((sec[1]==x&&sec[2]==y)||(sec[2]==x&&sec[1]==y)||(sec[2]==x&&sec[3]==y)||(sec[3]==x&&sec[2]==y)||(sec[4]==x&&sec[3]==y)||(sec[4]==x&&sec[5]==y)||(sec[5]==x&&sec[1]==y)||(sec[1]==x&&sec[5]==y)){
cout<<"YES";
}else{
cout<<"NO";
}
return 0;
}