WUST Online Judge - 2147: 与时间赛跑
2147: 与时间赛跑
Time Limit: 1 Sec Memory Limit: 128 MB 64bit IO Format: %lld
Submitted: 1100 Accepted: 142
[Submit][Status][Web Board]
Description
orz做了一个奇怪的梦,他梦见自己在一个钟面上所在的位置为t1,目标位置为t2(t1和t2都为整点,且不相等)。时钟的钟面上有三根指针——时(h),分(m),秒(s)。
时钟的三根指针都很长,因此orz不能绕过或跨过指针。
求orz是否能从t1移动到t2。
Input
多组测试,每组输入5个整数h,m,s,t1,t2 (1≤h≤12,0≤m,s≤59,1≤t1,t2≤12,t1≠t2)。输入保证三根指针的位置不会和t1或t2重合。
Output
如果orz能到达t2输出Yes,否则输出NO
Sample Input
12 30 45 3 11
Sample Output
NO
Author
lsc
代码如下:
#include <stdio.h> int main() { double h, m, s, t1, t2, t; while (scanf("%lf%lf%lf%lf%lf", &h, &m, &s, &t1, &t2) != EOF) { if (t1 > t2) { t = t1; t1 = t2; t2 = t; } if (h == 12) h = 0; m = m + s / 60.0; h = h + m / 60.0; if (m >= 60) m /= 60; else if(m < 60) m /= 5; if (s >= 60) s /= 60; else if(s < 60) s /= 5; if ((h < t1 || h > t2) && (m < t1 || m > t2) && (s < t1 || s > t2)) printf("Yes\n"); else if (h > t1 && m > t1 && s > t1 && h < t2 && m < t2 && s < t2) printf("Yes\n"); else printf("NO\n"); } return 0; }
作者:McR
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。