SSL P1759 求連通分量

2021-10-01 14:06:16 字數 2269 閱讀 2442

求乙個圖的連通分量

輸入乙個數n(n<=100)表示頂點數,下面每行輸入兩個整數,表示一條邊的兩個頂點,輸入兩個0表示結束。

乙個整數,為這個圖的連通分量。

863

1225

5441

8700

3
這道題方法有很多種,在老師的要求下作者寫了5種方法,如果有不太清楚的地方望各位海涵

#include

using

namespace std;

int n,a[

110]

[110

],b[

110]

,t,maxn;

void

dfs(

int now,

int star)

//深度優先搜尋

intmain()

while

(x||y)

//輸入

for(

int i=

1;i<=n;i++

) cout<

}

#include

using

namespace std;

int n,b[

110]

,maxn,ans,hd[

110]

,tot;

struct abca[

1100110];

void

add(

int x,

int y)

//插入鄰接表

void

dfs(

int now)

//深度優先搜尋

}int

main()

for(

int i=

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

cout<

1<

//還要加上自身的點

}

#include

using

namespace std;

int n,a[

110]

[110

],b[

110]

,t,maxn,hd=

0,tl=1;

struct abcf[

110]

;int

main()

while

(x||y)

for(

int i=

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

}if(tl>maxn)

maxn=tl;}}

cout<

1<

}

#include

using

namespace std;

int b[

110]

,n,f[

100010

],tot,maxn,hd[

100010];

struct abca[

1100110];

void

add(

int x,

int y)

intmain()

for(

int i=

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

}if(tl>maxn)

maxn=tl;}}

cout<

1<

}

#include

#include

using

namespace std;

int b[

110]

,n,tot,maxn,hd[

100010];

struct abca[

1100110];

void

add(

int x,

int y)

intmain()

for(

int i=

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

f.pop();

}if(ans>maxn)

maxn=ans;}}

cout<

}

後面的三個作者都沒有加標,因為大部分和上面差不多,最後乙個作者也不太懂 。

1759 求連通分量

求連通分量 time limit 1000ms memory limit 65536k total submit 243 accepted 136 description 求乙個圖的連通分量 input n 頂點數 100 邊 output 連通分量 sample input 5 1 23 4 2 ...

ssl1759 求連通分量

求連通分量 time limit 1000ms memory limit 65536k total submit 240 accepted 135 description 求乙個圖的連通分量 input n 頂點數 100 邊 output 連通分量 sample input 5 1 23 4 2 ...

SSL 1759 求連通分量

求乙個圖的連通分量 應為最大連通分量 n頂點數 100 邊連通分量 同上 863 1225 5441 87004對於每個點,判斷是否被標記過,如果沒有,就從該點向外搜尋並標記,並對大小取最大值即可 本題寫了五種特別像的方法,請欣賞 include include using namespace st...