藍橋杯2018初賽 小朋友崇拜圈

2021-10-20 22:20:53 字數 810 閱讀 4825

題目描述

班裡n個小朋友,每個人都有自己最崇拜的乙個小朋友(也可以是自己)。

在乙個遊戲中,需要小朋友坐乙個圈,

每個小朋友都有自己最崇拜的小朋友在他的右手邊。

求滿足條件的圈最大多少人?

小朋友編號為1,2,3,…n

輸入輸入第一行,乙個整數n(3解題思路:

題意大意:n條有向邊,找出最大環。

我們發現,如果乙個小朋友沒有被任何人崇拜,那麼他一定不位於環中。為此我們可以設定乙個indug陣列預處理。如果2被崇拜了那麼indug[2]就加加,那麼後續我們只需要dfs不為0的小朋友即可。

**如下:

#include

using

namespace std;

const

int n =

100010

;int a[n]

;bool st[n]

;int debug[n]

;int cnt;

int maxv;

void

dfs(

int head,

int dian,

int len)

st[a[head]]=

true

;dfs

(a[head]

, dian, len +1)

;}intmain()

for(

int i =

1; i <= n; i++)}

cout << maxv << endl;

return0;

}

藍橋杯 小朋友崇拜圈

班裡n個小朋友,每個人都有自己最崇拜的乙個小朋友 也可以是自己 在乙個遊戲中,需要小朋友坐乙個圈,每個小朋友都有自己最崇拜的小朋友在他的右手邊。求滿足條件的圈最大多少人?小朋友編號為1,2,3,n 輸入輸入第一行,乙個整數n 3輸出 要求輸出乙個整數,表示滿足條件的最大圈的人數。include in...

藍橋杯 小朋友崇拜圈

題目描述 班裡 n nn 個小朋友,每個人都有自己最崇拜的乙個小朋友 也可以是自己 在乙個遊戲中,需要小朋友坐乙個圈,每個小朋友都有自己最崇拜的小朋友在他的右手邊。求滿足條件的圈最大多少人?小朋友編號為 1,2 3,n1,2,3,n 1,2,3,n。輸入描述 輸入第一行,乙個整數 n 3 n 10 ...

藍橋 小朋友崇拜圈 拓撲排序 留環

思路 拓撲排序可以判環 那麼也可以把非環的邊去掉 這樣我們只要成環的所有邊 這樣我們的圖就剩下了很多環 這樣每個環只搜一次然後記錄最大值即可。雖然思路寫起來簡單但是很難想啊!include include include include include include include define ...