92pts WA on #11

P3388 【模板】割点(割顶)

@[HEIMOFA](/user/929819) ```cpp #include<bits/stdc++.h> #define int long long #define lowbit(x) x&-x #define lc (x<<1) #define rc (x<<1|1) using namespace std; int n,m,rt,sum,idx; const int N=2e4+5; int dfn[N],low[N],ans[N]; vector<int> g[N]; void Tarjan(int x){ dfn[x]=low[x]=++idx; int len=g[x].size(); int son = 0 ; for(int i=0;i<len;i++){ int y=g[x][i]; if(!dfn[y]){ Tarjan(y); low[x]=min(low[x],low[y]); if(low[y]>=dfn[x]){ son++; if(son>1||x!=rt) ans[x]=1; } } else low[x]=min(low[x],dfn[y]); } } signed main() { scanf("%lld%lld",&n,&m); for(int i=1;i<=m;i++){ int a,b;scanf("%lld%lld",&a,&b); g[a].push_back(b); g[b].push_back(a); } for(int i=1;i<=n;i++) if(!dfn[i]) rt=i,Tarjan(i); for(int i=1;i<=n;i++) if(ans[i]) sum++; printf("%lld\n",sum); for(int i=1;i<=n;i++) if(ans[i]) printf("%lld ",i); return 0; } ``` 计数点赋值位置改一下就好哩
by xiao__xiao @ 2024-01-25 16:39:30


@[xiao__xiao](/user/1015805) thx,当时不知道怎么想的……
by HEIMOFA @ 2024-01-25 16:42:46


|