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 - 1930: 热浪

WUST Online Judge - 2153: 旋转

WUST Online Judge - 2106: 熄灯问题

WUST Online Judge - 2104: 特殊密码锁

WUST Online Judge - 2161: 特殊的三角形

WUST Online Judge - 1188: 零起点学算法95——骨牌铺方格