低碳生活大獎賽

2022-05-21 18:06:14 字數 863 閱讀 5923

時間限制: 1 sec  記憶體限制: 128 mb

提交: 20  解決: 12

[提交][狀態][討論版][命題人:外部匯入]

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪:

每位選手需要回答10個問題(其編號為1到10),越後面越有難度。答對的,當前分數翻倍;答錯了則扣

掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理

每位選手都有乙個起步的分數為10分。

某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能推斷出他(她)哪個題目答對了,哪個

題目答錯了嗎?

如果把答對的記為1,答錯的記為0,則10個題目的回答情況可以用僅含有1和0的串來表示。例如:

0010110011 就是可能的情況。

你的任務是輸出所有可能情況,按二進位制從小到大的順序,每個答案佔一行。

解題思路:遞迴。用mk陣列標記每乙個問題是否答對,然後接著一直往下遞迴直到分數等於100,最後用乙個for迴圈算出每個方法對應的十進位制數值,儲存到sum陣列,然後用sort從小到大排序,最後按順序二進位制輸出

#includeusing namespace std;

int mk[11],sum[9999];

int j=0;

void dfs(int x,int y)

j++;

return;

}else if(x!=100&&y==11)return;

mk[y]=1;

dfs(x*2,y+1);//第y道題答對

mk[y]=0;

dfs(x-y,y+1);//第y道題答錯

}int main()

}return 0;

}

低碳生活大獎賽

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

低碳生活大獎賽

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

藍橋杯 某電視台舉辦了低碳生活大獎賽

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