華農acm scau 9508 諸葛給我牌

2021-08-15 20:51:15 字數 2166 閱讀 7773

題目

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 輸入格式 第一行 輸入順序表的元素個數 第二行 輸入順序表的各元素,用空格分開 輸出格式 第一行 逆置前的順序表元素列表 第二行 逆置後的順序表元素列表 輸入...