奇怪的比賽

2021-07-28 18:31:31 字數 854 閱讀 4224

仍然是藍橋杯問題——奇怪的比賽

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪:每位選手需要?回答10個問題(其編號為1到10),越後面越有難度。答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。?每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能推斷出他(她)哪個題目答對了,哪個題目答錯了嗎?如果把答對的記為1,答錯的記為0,則10個題目的回答情況可以用僅含有1和0的串來表示。

這個題其實和之前的李白打酒問題類似,都是用遞迴來求解,但是前者只需要知道幾種方案,這個需要將所有的方案列出來。

public

class strangecompetition

public

static

void

compete(int problems, int score)

system.out.println("]");

return;

} else

}// 題目做錯

result[problems] = 0;

compete(problems + 1, score - problems - 1);

// 題目作對

result[problems] = 1;

compete(problems + 1, score * 2);

}}

最後的輸出結果是

[0010110011]

[0111010000]

[1011010000]

奇怪的比賽

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能...

奇怪的比賽

include include include include include includeusing namespace std const int target 100 int globalcnt 0 int cnt 11 int next int id,int cur 開始答第id道題 in...

奇怪的比賽

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能...