描述
今盒子裡有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分,如果不讓你看比賽過程,你能...