description
三國殺是現在流行的桌遊..分為兩方,用牌來進行對戰,每一張牌都有自己的屬性,而每乙個武將(就是玩家)都有自己的技能.
每一次玩家都從牌堆裡面抽兩張牌到手牌上,然後進行出牌殺死對方玩家(更具體請參考官方說明)..
諸葛亮的技能就是能看到牌堆上面的5張牌而可以對這5張牌進行擺放,絕對自己或者下家得到的牌.
而甄姬的技能就是一開始可以在牌堆裡面摸牌,只要摸到的是黑色牌都可以拿到手牌上,一直摸到不是黑色的牌為止.
現在諸葛亮和甄姬剛好坐在一起,甄姬成為了諸葛亮的下家.現在諸葛亮想讓甄姬拿到盡可能多的牌.應該如何擺放牌呢
現在將諸葛亮的技能加強點(5張太少了,不夠給力),他可以看到牌堆的所有牌,但他不能抽牌,而只能去掉牌堆裡面的某些牌,而去掉牌要符合以下規則
1. 從牌頂一直拿
2. 從牌中間拿出連續的一段牌
這兩個規則最多只能用一次或者不用
而且這技能是在諸葛亮拿完自己的手牌才發動的,問甄姬最多能拿到多少張呢
由於牌要不是紅,要不是黑,則0表示黑,1表示紅
例如 00011101100111000000
如果我把前面的111拿走,那麼甄姬就能拿到前面的4個0
如果我把000111和之後的11拿走,則變為0(11)00111000000,則甄姬可以拿到前面的3張,括號表示已經拿走
但如果我把前面的000111011和最後的111拿走,就甄姬就可以拿到000000000. 8張了
那如果把中間的11101100111拿走呢? 我們可以拿到9張。
記住牌頂和中間都只能拿一次或者不拿
輸入格式
第一行表示串長n(1<=n<=1000000)
第二行是長度為n的01串表示牌堆裡面的牌
輸出格式
乙個數表示最多可以拿到的牌數
輸入樣例
20 00011101100111000000
輸出樣例
9其實就是找出兩個最長的零串而已
#include
int main()
else
if(count > l1)
l1 = count;
count = 0;
}else
count ++;
}printf("%d\n", count > l1 ? count + l2 : l1 + l2);
return
0;}
9508 諸葛給我牌
時間限制 1000ms 記憶體限制 65535k 題型 程式設計題 語言 無限制 三國殺是現在流行的桌遊.分為兩方,用牌來進行對戰,每一張牌都有自己的屬性,而每乙個武將 就是玩家 都有自己的技能.每一次玩家都從牌堆裡面抽兩張牌到手牌上,然後進行出牌殺死對方玩家 更具體請參考官方說明 諸葛亮的技能就是...
華農acm scau 9508 諸葛給我牌
題目9508 諸葛給我牌 時間限制 1000ms 記憶體限制 65535k 提交次數 0 通過次數 0 題型 程式設計題 語言 g gcc description 三國殺是現在流行的桌遊.分為兩方,用牌來進行對戰,每一張牌都有自己的屬性,而每乙個武將 就是玩家 都有自己的技能.每一次玩家都從牌堆裡面...
ACM複習(24)8623 龍龍
description 在比賽的時候,1y 1 次ac 是很值得高興的事情。但很多大牛總會因為很弱智的錯誤先wa 一次,再ac。而很多時候,這點罰時的差距使得他們與金牌無緣。弱智錯誤系列中最顯著的就是忘記加龍龍。龍龍外國人叫它作long long,表示64位整數,輸入與輸出64位整數則可以使用例如 ...