2011-11-12 06:45:22Morris

a270. 爬樓梯有益身心健康

a270. 爬樓梯有益身心健康

內容 :

康康小學只有一棟大樓

這棟大樓總共有五層樓

特別的是,每層樓的高度都不一定一樣

所以爬每層樓的樓梯需要的時間也都不相同

每當到了新學期,就得檢查分給每位老師的課表

看是否每位老師每節課都來得及在上課前趕到當節教室的樓層

請寫一個程式完成這件偉大的任務。

輸入說明 :

輸入為多筆測資

每筆測資的第一行有1個整數n,1<=n<=100,代表下課的時間長度

每筆測資的第二行有4個整數a,b,c,d, 1<=a,b,c,d<=100,

分別代表一樓到二樓、二樓到三樓、三樓到四樓、四樓到五樓需要的時間

每筆測資的第三行有8個整數,都介於1到5,代表某位老師某一天八節課的教室樓層

輸出說明 :

輸出一行

若某位老師某一天八節課都來得及趕到教室所在的樓層,輸出"yes"

若其中有任何一節課趕不及,輸出"no"

範例輸入 :

20
10 5 10 10
1 2 3 4 5 3 3 2
15
10 5 10 10
1 2 3 4 5 3 3 2

範例輸出 :

yes
no

提示 :

康康小學的老師都有守時的好習慣,所以每天第一節課以前老師就會抵達第一節的教室,

也不會提早或延遲下課。

假設在同一層樓移動的時間可以忽略,上課鈴響時恰好到達該層樓便視為來得及。

出處 :

(管理:VacationClub)

/**********************************************************************************/
/*  Problem: a270 "爬樓梯有益身心健康" from                              */
/*  Language: C (433 Bytes)                                                       */
/*  Result: AC(20ms, 280KB) judge by this@ZeroJudge                               */
/*  Author: morris1028 at 2011-11-04 18:35:16                                     */
/**********************************************************************************/


#include<stdio.h>
int main() {
    int n, A[5], B[8], i, j, x, y, t;
    while(scanf("%d", &n) == 1) {
        int flag = 0;
        for(i = 1; i <= 4; i++)
            scanf("%d", &A[i]);
        for(i = 0; i < 8; i++) {
            scanf("%d", &B[i]);
            if(i) {
                x = B[i], y = B[i-1];
                if(x > y)    t = x, x = y, y = t;
                for(j = x, t = 0; j < y; j++)
                    t += A[j];
                if(t > n)    flag = 1;
            }
        }
        puts(flag ? "no" : "yes");
    }
    return 0;
}