WUST Online Judge - 2147: 与时间赛跑
Posted mcr-tcp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "); else if (h > t1 && m > t1 && s > t1 && h < t2 && m < t2 && s < t2) printf("Yes "); else printf("NO "); } return 0; }
以上是关于WUST Online Judge - 2147: 与时间赛跑的主要内容,如果未能解决你的问题,请参考以下文章
WUST Online Judge - 2106: 熄灯问题
WUST Online Judge - 2104: 特殊密码锁