1. 程式人生 > >WUST Online Judge - 2147: 與時間賽跑

WUST Online Judge - 2147: 與時間賽跑

ret HR 相等 CP TE accept lin scanf abs

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;
}

WUST Online Judge - 2147: 與時間賽跑