第三屆藍橋杯C 組 取球遊戲

2021-09-10 10:28:03 字數 746 閱讀 1619

描述

今盒子裡有n個小球,a、b兩人輪流從盒中取球,每個人都可以看到另乙個人取了多少個,也可以看到盒中還剩下多少個,並且兩人都很聰明,不會做出錯誤的判斷。我們約定:每個人從盒子中取出的球的數目必須是:1,3,7或者8個。輪到某一方取球時不能棄權!a先取球,然後雙方交替取球,直到取完。被迫拿到最後乙個球的一方為負方(輸方)請程式設計確定出在雙方都不判斷失誤的情況下,對於特定的初始球數,a是否能贏?

輸入先是乙個整數n(n<100),表示接下來有n個整數。然後是n個整數,每個佔一行(整數<10000),表示初始球數。

輸出輸出n行,表示a的輸贏情況(輸為0,贏為1)。

輸入樣例 141

21018輸出樣例 101

10

#includeusing namespace std;

int a[10001]=;

int main()

} int n,q;

scanf("%d",&n);

while(n--)

}

題目知a先取 所以當有乙個只有小球的時候,a必輸。那我們可以反過來想,當b拿過以後。剩下乙個球的時候a是輸,剩下三個或者7個或者8個也是a輸。也就是說讓a贏一局之後便會有連鎖的四個個輸局。之後的1 3 7 8都是輸局。同理 假設乙個球的時候 a是輸的 那麼三個連鎖的 2 4 8 9都是贏。當然,這個連鎖是有條件的。條件就是a輸與贏。因此 我們就可以寫成遞推的形式,依次求出所有資料中ab的輸贏情況。這個題目如果正向考慮,可能會比較慘。如果逆向考慮會更好。

第三屆藍橋杯CC B組3

有一群海盜 不多於20人 在船上比拼酒量。過程如下 開啟一瓶酒,所有在場的人平分喝下,有幾個人倒下了。再開啟一瓶酒平分,又有倒下的,再次重複.直到開了第4瓶酒,坐著的已經所剩無幾,海盜船長也在其中。當第4瓶酒平分喝下後,大家都倒下了。等船長醒來,發現海盜船擱淺了。他在航海日誌中寫到 昨天,我正好喝了...

第三屆藍橋杯複試

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

藍橋杯第三屆題目

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