題目
9508 諸葛給我牌
時間限制:1000ms 記憶體限制:65535k
提交次數:0 通過次數:0
題型: 程式設計題 語言: g++;gcc
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串表示牌堆裡面的牌
輸出格式
乙個數表示最多可以拿到的牌數
輸入樣例
2000011101100111000000
輸出樣例
9** ick2
作者 a470086609
題解:
簡單來說就是找兩個最長的0長度。
詳細:有兩種方式,第一種是去掉頭部的1這樣使得一開始能夠讀到0,而不是1導致中斷。然後找到乙個最長的0
但是這樣會導致乙個錯誤:11101000100000
如果只是去掉111那麼,然後去掉1這樣會導致並不是最長
那麼我們想要的其實是(11101}000(1)00000
如果存在兩個最長的那麼我們自然後辦法將他們兩個鏈結在一起。
code:
#ifdef local
#include #endif
#include #include #include #include #include #include #include #include #include #include #include #define rep(i,e) for(int i=0;i#define f first
#define s second
#define pb push_back
#define mp make_pair
#define mset(var,val) memset(var,val,sizeof(var))
#define ios ios::sync_with_stdio(false);cin.tie(0)
#define scd(a) scanf("%d",&a)
#define scdd(a,b) scanf("%d%d",&a,&b)
#define scddd(a,b,c) scanf("%d%d%d",&a,&b,&c)
#define test(a) cout<> n;
cin >> line;
int pos=0;
line[n]='1';
int cnt=0;
int temp=0;
for(int i=pos;i<=n;i++)else
} sort(len,len+cnt);
int cur=cnt;
if(cur>=2)else
}int main()
記華農一遊
今天,我們這個女隊,第一次一起上場打比賽,去參加華農的校賽。鐵牌,呵呵,雖然沒有頒獎的其實。好久沒有連續5個小時做比賽了,好久沒有跟別人共用一台電腦打比賽了。而且,我們三個其實也是最近才有開始一起討論題目,因為珠海的選拔賽。前幾天的選拔賽,因為種種原因 當然,個人能力原因才是最重要的 2個小時5個題...
華農js搶課神器
又到了華農選課的時候,伺服器估計就受不了,每天奔潰幾次,這次選課貪心了點,竟然選了5門,好吧,我承認我只中了1門,什麼?剛剛換課給同學馬上就被人搶了?我來告訴你原因吧,最近發現一位大神寫了乙份js指令碼,用來插入瀏覽器來刷選修課,可惜啊,沒怎麼學好js,不過還是挺有興趣以後研究下,以後也弄個來造福師...
華農oj資料結構 8578
8578 順序表逆置 時間限制 1000ms 長度限制 10kb 提交次數 3660 通過次數 2149 題型 程式設計題 語言 g gcc 輸入格式 第一行 輸入順序表的元素個數 第二行 輸入順序表的各元素,用空格分開 輸出格式 第一行 逆置前的順序表元素列表 第二行 逆置後的順序表元素列表 輸入...