P3388 模板 割點

2022-07-16 01:15:15 字數 940 閱讀 4534

割點

給出乙個n個點,m條邊的無向圖,求圖的割點。

輸入格式:

第一行輸入n,m

下面m行每行輸入x,y表示x到y有一條邊

輸出格式:

第一行輸出割點個數

第二行按照節點編號從小到大輸出節點,用空格隔開

輸入樣例#1: 複製

6 7

1 21 3

1 42 5

3 54 5

5 6

輸出樣例#1: 複製

1 

5

n,m均為100000

tarjan圖不一定聯通!!!

點的編號均大於0小於等於n

#include using namespace std;

using ll=long long;

const int maxn=1e5+10;

struct nodeedge[maxn<<1 ];

int head[maxn], cnt,low[maxn],dfn[maxn],time;

bool vis[maxn];

void add(int u,int v)

void tarjan(int u,int fa)

low[u]=min(low[u],dfn[v]);//求割點時只能是dfn[v],強連通分量可以是dfn[v]||low[v]

}if(child>=2&&u==fa)

vis[u]=1;

}int main()

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

int sum=0;

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

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

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

return 0;

}

P3388 模板 割點(割頂)

割點 題目描述 給出乙個n個點,m條邊的無向圖,求圖的割點。輸入格式 第一行輸入n,m 下面m行每行輸入x,y表示x到y有一條邊 輸出格式 第一行輸出割點個數 第二行按照節點編號從小到大輸出節點,用空格隔開 輸入樣例 1 複製6 7 1 21 3 1 42 5 3 54 5 5 6輸出樣例 1 複製...

P3388 模板 割點(割頂)

割點 給出乙個n個點,m條邊的無向圖,求圖的割點。輸入格式 第一行輸入n,m 下面m行每行輸入x,y表示x到y有一條邊 輸出格式 第一行輸出割點個數 第二行按照節點編號從小到大輸出節點,用空格隔開 輸入樣例 1 6 7 1 21 3 1 42 5 3 54 5 5 6 輸出樣例 1 1 5 n,m均...

P3388 模板 割點(割頂)

n 給定一張無向圖g g g,求圖的割點 s ol utio nsolution soluti on判斷條件 非搜尋樹起點x xx,任意乙個子節點y yy,滿足dfn x l ow y dfn x low y dfn x l ow y 搜尋樹起點rtrt rt,至少兩個子節點y yy,滿足dfn x...