第二屆藍橋杯省賽 奇怪的比賽

2022-05-03 13:42:17 字數 2325 閱讀 8153

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

每位選手需要回答10個問題(其編號為1到10),越後面越有難度。答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。

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

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

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

你的任務是算出所有可能情況。每個答案佔一行。

答案寫在「解答.txt」中,不要寫在這裡!

分析:方法一:直接暴力即可,十層for迴圈,按照規則進行相應的運算。。。

1 #include2

using

namespace

std;

3int

main()426

if(mark==100)27

32}33return0;

34 }

方法二:深搜每種狀態,每種問題有兩種情況,(1正確,0錯誤),時間度咋讀是2^10......

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

int maxn = 15;7

8void dfs(int k, int score,int

a )15 cout<17return;18

}19 a[k]=1

;20 dfs(k+1,abs(score)*2

,a);

2122 a[k]=0

;23 dfs(k+1,score-k,a);

24/*

a[k]=0;

*/2526}

2728

intmain()

*/33 memset(a,0,sizeof

(a));

34 dfs(1,10,a);/*

第乙個引數代表第幾個問題,第二個引數代表現在的得分

*/35

return0;

36 }

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

每位選手需要回答10個問題(其編號為1到10),越後面越有難度。答對的,當前分數翻倍;答錯了則扣掉與題號相同的分數(選手必須回答問題,不回答按錯誤處理)。

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

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

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

你的任務是算出所有可能情況。每個答案佔一行。

答案寫在「解答.txt」中,不要寫在這裡!

分析:方法一:直接暴力即可,十層for迴圈,按照規則進行相應的運算。。。

1 #include2

using

namespace

std;

3int

main()426

if(mark==100)27

32}33return0;

34 }

方法二:深搜每種狀態,每種問題有兩種情況,(1正確,0錯誤),時間度咋讀是2^10......

1 #include2 #include3 #include4 #include5

using

namespace

std;

6const

int maxn = 15;7

8void dfs(int k, int score,int

a )15 cout<17return;18

}19 a[k]=1

;20 dfs(k+1,abs(score)*2

,a);

2122 a[k]=0

;23 dfs(k+1,score-k,a);

24/*

a[k]=0;

*/2526}

2728

intmain()

*/33 memset(a,0,sizeof

(a));

34 dfs(1,10,a);/*

第乙個引數代表第幾個問題,第二個引數代表現在的得分

*/35

return0;

36 }

第二屆藍橋杯省賽 密碼發生器

密碼發生器 在對銀行賬戶等重要許可權設定密碼的時候,我們常常遇到這樣的煩惱 如果為了好記用生日吧,容易被破解,不安全 如果設定不好記的密碼,又擔心自己也會忘記 如果寫在紙上,擔心紙張被別人發現或弄丟了.這個程式的任務就是把一串拼音字母轉換為6位數字 密碼 我們可以使用任何好記的拼音串 比如名字,王喜...

第二屆藍橋杯 歌賽新規則

題目 歌賽新規則 歌手大賽的評分規則一般是去掉乙個最高分,去掉乙個最低分,剩下的分數求平均。當評委較少的時候,如果我們只允許去掉乙個分數,該如何設計規則呢?有人提出 應該去掉與其餘的分數平均值相差最遠的那個分數。即 最離群 的分數。以下的程式用於實現這個功能。其中x存放所有評分,n表示陣列中元素的個...

第二屆藍橋杯 中獎計算

題目 中獎計算 某 活動的規則是 每位參與者在紙上寫下乙個8位數的號碼。最後通過搖獎的辦法隨機產生乙個8位數字。參與者寫下的數字中最多有多少個連續位與開獎號碼中的相同,則稱為中了幾個號。例如 小張寫的數字是 12345678,而開獎號碼是 42347856。則稱小張中了3個號,因為其中最長的相同連續...