codevs 2822 愛在心中

2022-05-23 15:57:09 字數 2042 閱讀 1699

題目描述 description

「每個人都擁有乙個夢,即使彼此不相同,能夠與你分享,無論失敗成功都會感動。愛因為在心中,平凡而不平庸,世界就像迷宮,卻又讓我們此刻相逢our home。」

在愛的國度裡有n個人,在他們的心中都有著乙個愛的名單,上面記載著他所愛的人(不會出現自愛的情況)。愛是具有傳遞性的,即如果a愛b,b愛c,則a也愛c。

如果有這樣一部分人,他們彼此都相愛,則他們就超越了一切的限制,用集體的愛化身成為乙個愛心天使。

現在,我們想知道在這個愛的國度裡會出現多少愛心天使。而且,如果某個愛心天使被其他所有人或愛心天使所愛則請輸出這個愛心天使是由哪些人構成的,否則輸出-1

。輸入描述 input description

第1行,兩個數n、m,代表愛的國度裡有n個人,愛的關係有m條。

第2到第m+1行,每行兩個數a、b,代表a愛b。

輸出描述 output description

第1行,乙個數,代表愛的國度裡有多少愛心天使。

第2行,如果某個愛心天使被其他所有人和愛心天使所愛則請輸出這個愛心天使是由哪些人構成的(從小到大排序),否則輸出-1

。樣例輸入 sample input

樣例輸入1:67

1223

3242

4556

64樣例輸入2:33

1221

23樣例輸出 sample output

樣例輸出1:22

3樣例輸出2:

1-1

題目芒果君:昨天又犯了乙個錯誤讓我開始懷疑人生。本來縮點做一次就夠了結果我不小心沒把函式上面那個迴圈刪掉,怎麼改都t了,最後還打了乙個讀入優化233333真是有病。然後這道題的話和那個(haoi2006 受歡迎的牛)差不多,就多了一問。最近浪的太厲害tarjan還沒學完,今天第一天課發現自己揹包啥都不會了,so sad。

言歸正傳吧,題目意思就是求總共有多少容量大於1的強連通分量,一開始走一遍tarjan,求容量(own陣列),求點所屬強連通分量(集合jh陣列),重構的部分我借鑑了hzw大佬,但只保留了一行用來判斷有無初度。找答案的部分我認為值得學習一下,縮完點後,如果這個強連通分量被所有其它分量連線,那麼它的出度為0且只能存在乙個。因為你想,它肯定有入度,但如果它有出度,這就又和別的強連通了,不對吧。要是存在兩個,它們都沒有出度,互相否定了「被所有其他分量」這個條件,也不能成立。感覺需要理解一陣子而且我寫的也很迷23333333 然後在這道題中還要注意,容量為1的分量是不符合條件的。

下面貼**啦↓~

1 #include2

#define l 10010

3using

namespace

std;

4 stacks;

5struct

xe[50010];8

intn,m,ans,hl[l],hl[l],jh[l],own[l],vis1[l],vis2[l],low[l],dfn[l],cnt,num;

9void add(int x,int

y)10

15void tarjan(int

x)16

26else

if(vis2[to]) low[x]=min(low[x],dfn[to]);27}

28if(dfn[x]==low[x])38}

39}40void

rebuild()

4147

intmain()

4855

for(int i=1;i<=n;++i) if(!vis1[i]) tarjan(i);

56rebuild();

57for(int i=1;i<=num;++i) if(own[i]>1) ans++;

58 cout

59 ans=0

; 60

for(int i=1;i<=num;++i)

61if(!hl[i])

66else ans=i; 67}

68for(int i=1;i<=n;++i) if(jh[i]==ans) cout

69return0;

70 }

codevs 2822 愛在心中

題目描述 每個人都擁有乙個夢,即使彼此不相同,能夠與你分享,無論失敗成功都會感動。愛因為在心中,平凡而不平庸,世界就像迷宮,卻又讓我們此刻相逢our home。在愛的國度裡有n個人,在他們的心中都有著乙個愛的名單,上面記載著他所愛的人 不會出現自愛的情況 愛是具有傳遞性的,即如果a愛b,b愛c,則a...

Codevs 2822 愛在心中

2822 愛在心中 時間限制 1 s 空間限制 128000 kb 傳送門題目等級 鑽石 diamond 題目描述 description 每個人都擁有乙個夢,即使彼此不相同,能夠與你分享,無論失敗成功都會感動。愛因為在心中,平凡而不平庸,世界就像迷宮,卻又讓我們此刻相逢our home。在愛的國度...

codevs2822 愛在心中

題目描述 description 每個人都擁有乙個夢,即使彼此不相同,能夠與你分享,無論失敗成功都會感動。愛因為在心中,平凡而不平庸,世界就像迷宮,卻又讓我們此刻相逢our home。在愛的國度裡有n個人,在他們的心中都有著乙個愛的名單,上面記載著他所愛的人 不會出現自愛的情況 愛是具有傳遞性的,即...