NYOJ 1396 可憐的農場主 棧

2021-08-31 20:59:14 字數 1406 閱讀 7383

高富帥zzh先生在美麗的青藏高原上有一大片牧場,裡面養殖著n只稀有的菜菜龍,他們的編號從1到n。因為zzh先生有強迫症,所以農場中有且只有可能存在偶數只菜菜龍。如果兩隻菜菜龍互相仇視,當它們相鄰時,他們就會非常生氣,然後,可愛的菜菜龍就去見上帝了(不要問我這是什麼鬼?我也不知道啊!)。

這群菜菜龍在飼養員ljt的餵養下,每天都吃喝不愁,所以這群菜菜龍閒的經常為了一點小事就會發生矛盾,進而仇視對方,導致每只菜菜龍都有乙個仇視的菜菜龍,或許因為菜菜龍腦袋比較小,他們只有可能仇視乙隻菜菜龍。(饒過可愛的菜菜龍吧,它們的小腦袋裝不下太多…)在飼養員ljt餵食的時候,他們總是圍成圈吃飯,它們會按照編號從1到n圍成一圈,在他們圍成圈吃飯時,如果兩個互相仇視的菜菜龍相鄰,兩隻菜菜龍都會因看到對方而生氣導致死亡,ljt會將死亡的菜菜龍扔出牧場,剩餘的菜菜龍會再次按照編號圍成乙個圈,請問到最後牧場中死亡多少只菜菜龍?

多組輸入

每組第一行輸入乙個整數n(0複製

41 42 3

5 67 8

21 3

2 40

8

0

acm—劉俊濤

陣列模擬

#include#include#include#include#include#includeusing namespace std;

int s[2001];

int ss[2001];

int main()

int l=1,r=2*n;

int sum=0;

int u=0;

while(s[l]+s[r]==0)//判斷首尾是否仇視

l++;

r--;

}if(u==1)

int k=-1;

for(int i=l; i<=r; i++)

else

else

ss[++k]=i;}}

printf("%d\n",sum);

}return 0;

}

棧:

#include#include#include#include#include#includeusing namespace std;

int s[3000];

stackq;

int main()

int l=1,r=2*n;

int sum=0;

int u=0;

while(s[l]+s[r]==0)

l++;

r--;

}if(u==1)

for(int i=l; i<=r; i++)

else

else

q.push(i);}}

printf("%d\n",sum);

}return 0;

}

P1396 營救 題解

題目傳送門 這題有好幾種方法可以做,有跑最短路的,有些最小生成樹的。這裡介紹最短路的方法。單源最短路徑,很自然地想到 dijkstra。不過題目要求的是最大值最小,所以鬆弛就要改成 if dis v max dis u e i w dis v max dis u e i w include usin...

BZOJ 1396 識別子串

solution 我得了 能用字尾陣列就一定不用字尾自動機綜合症 感覺用height rank sa 處理字串真的好優雅 雖然其他題上字尾陣列常數比較大 不過這個字尾陣列水了一發似乎就rank1 了 開心 題解就是求出字尾陣列以後維護乙個單調佇列來更新答案啦。include include incl...

洛谷 P1396 營救

題目描述 咚咚咚 查水表!原來是查水表來了,現在 找這麼熱心上門的查表員啊!小明感動的熱淚盈眶,開起了門 媽媽下班回家,街坊鄰居說小明被一群陌生人強行押上了警車!媽媽豐富的經驗告訴她小明被帶到了t區,而自己在s區。該市有m條大道連線n個區,一條大道將兩個區相連線,每個大道有乙個擁擠度。小明的媽媽雖然...