時間限制:1000ms 記憶體限制:65535k
題型: 程式設計題 語言: 無限制
三國殺是現在流行的桌遊..分為兩方,用牌來進行對戰,每一張牌都有自己的屬性,而每乙個武將(就是玩家)都有自己的技能.每一次玩家都從牌堆裡面抽兩張牌到手牌上,然後進行出牌殺死對方玩家(更具體請參考官方說明)..
諸葛亮的技能就是能看到牌堆上面的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串表示牌堆裡面的牌
乙個數表示最多可以拿到的牌數
2000011101100111000000
9
//以下為ac了的**
#include#includeint main()
; int maxsum,maxtemp,maxsbpt,total;
char str[1000001]=,c;
scanf("%d",&len);
c=getchar(); //用來接收scanf()後的回車符
for(i=0;imax)
}maxsum+=max;
for(i=1,max=0;i<=total;i++) }
maxsum+=max;
printf("%d\n",maxsum);
return 0;
}
華農acm scau 9508 諸葛給我牌
題目9508 諸葛給我牌 時間限制 1000ms 記憶體限制 65535k 提交次數 0 通過次數 0 題型 程式設計題 語言 g gcc description 三國殺是現在流行的桌遊.分為兩方,用牌來進行對戰,每一張牌都有自己的屬性,而每乙個武將 就是玩家 都有自己的技能.每一次玩家都從牌堆裡面...
ACM複習(32)9508 諸葛給我牌
description 三國殺是現在流行的桌遊.分為兩方,用牌來進行對戰,每一張牌都有自己的屬性,而每乙個武將 就是玩家 都有自己的技能.每一次玩家都從牌堆裡面抽兩張牌到手牌上,然後進行出牌殺死對方玩家 更具體請參考官方說明 諸葛亮的技能就是能看到牌堆上面的5張牌而可以對這5張牌進行擺放,絕對自己或...
諸葛亮 臥龍
諸葛亮 181 234年 字孔明,號臥龍,琅邪陽都 今山東沂南縣 人。他是漢朝司隸校尉諸葛豐的後代。諸葛亮於漢靈帝光和四年 181年 出生於琅邪陽都的乙個官吏之家。諸葛氏是琅邪的望族,先祖諸葛豐曾在西漢元帝時做過司隸校尉 衛戍京師的長官 諸葛亮父親諸葛圭,字君貢,東漢末年做過泰山郡丞。諸葛亮早年喪父...