2011年8月19日 星期五

d461: 班際籃球賽

內容 :
    又到了一年一度班際籃球賽的季節了,今年有 10 個班級組隊參加,比賽採單淘汰制,學校 所排的賽程如下:

    為了公平起見,學校在排賽程時,有兩個規定:
    1. 每個隊伍要取得冠軍所需贏得的比賽場數的差異不能大於一場。例如 101 贏 3 場可以獲得冠軍,但是 102 卻必須贏 4 場才可以獲得冠軍,其差異沒有大於一場。
    2. 每一場比賽的兩個隊伍必須由兩個隊數差異不大於一隊的組別所產生。例如 101, 102, 103 這三隊所產生的優勝隊伍必須和 104, 105 這兩隊所產生的隊伍比賽,兩邊所包含的隊伍數差異不大於一隊。

    在這兩個規則下,請幫忙計算如果有 n 個隊伍報名參賽,至少必須舉辦幾場比賽才能產生一個冠軍隊伍。

輸入說明 :
    輸入只有一行,包含一個整數 n,代表報名參賽的隊伍數目。

輸出說明 :
    請輸出一個整數,代表至少必須舉辦幾場比賽。

範例輸入 :
10

範例輸出 :
9

程式碼 :
#include <stdio.h>

int main() 
{
    int i;
    
    while(scanf("%d",&i)==1)
        printf("%d\n",i-1);
    return 0;
}




http://zerojudge.tw/ShowProblem?problemid=d461

沒有留言:

張貼留言