SSL 1759 求連通分量

2021-10-13 01:41:38 字數 2436 閱讀 2255

求乙個圖的連通分量(應為最大連通分量)

n頂點數(<=100)

邊連通分量(同上)

863

1225

5441

8700

4
對於每個點,判斷是否被標記過,如果沒有,就從該點向外搜尋並標記,並對大小取最大值即可

本題寫了五種特別像的方法,請欣賞

#include

#include

using

namespace std;

int n,x,y,tot=

0,t[

110]

,k[110

],mx=0;

bool a[

110]

[110];

//鄰接矩陣

void

dfs(

int d)

intmain()

for(

int i=

1;i<=n;i++

)printf

("%d"

,mx)

;return0;

}//0ms

#include

#include

using

namespace std;

struct f

a[10010];

int n,x,y,to=

0,tot=

0,t[

110]

,k[110

],head[

110]

,mx=0;

void

add(

int xx,

int yy)

void

dfs(

int d)

intmain()

for(

int i=

1;i<=n;i++

)printf

("%d"

,mx)

;return0;

}//15ms

#include

#include

using

namespace std;

int n,x,y,head,tail,stat[

110]

,mx=0;

bool a[

110]

[110

],t[

110]

;void

bfs(

int d)

return;}

intmain()

for(

int i=

1;i<=n;i++

)printf

("%d"

,mx)

;return0;

}//15ms

#include

#include

using

namespace std;

struct f

a[10010];

int n,x,y,to=

0,t[

110]

,k,head[

110]

,mx=

0,l,he,ta,q[

110]

;void

add(

int xx,

int yy)

void

bfs(

int d)

return;}

intmain()

for(

int i=

1;i<=n;i++

)printf

("%d"

,mx)

;return0;

}//0ms

#include

#include

#include

using

namespace std;

struct f

a[10010];

int n,x,y,to=

0,t[

110]

,k,head[

110]

,mx=

0,l;

queue <

int> c;

void

add(

int xx,

int yy)

void

bfs(

int d)

return;}

intmain()

for(

int i=

1;i<=n;i++

)printf

("%d"

,mx)

;return0;

}//0ms

ssl1759 求連通分量

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

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 連通分量 五種方法

求乙個圖的連通分量 input n 頂點數 100 連線的邊 output 連通分量 sample input 86 3 1 22 5 5 44 1 8 70 0 sample output1.dfs 鄰接矩陣 2.dfs 鄰接表 3.bfs 鄰接矩陣 4.bfs 鄰接表 5.bfs 鄰接表 stl...