脑干缺失
  • 板块学术版
  • 楼主02Ljh
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/2/23 21:08
  • 上次更新2023/10/24 00:00:23
查看原帖
脑干缺失
578004
02Ljh楼主2023/2/23 21:08

边双模板 在IDE上一直RE(连数据都读不进去) 人麻了

程序断点在

    int uuu,vvv;
    for(int i=1;i<=m;i++)
    {
    	cin>>uuu>>vvv;
    	//cout<<uuu<<" "<<vvv<<"\n";
    	q[uuu].push_back(vvv);
    	q[vvv].push_back(uuu);
    	//cout<<i<<"\n";
    }
// Problem: P3388 【模板】割点(割顶)
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P3388
// Memory Limit: 125 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
//#define int long long
#define ull unsigned long long
#define ll long long
#define MAXN 2019
#define WA puts("CCF\n");
#define eps 1e-5
#define ls i*2
#define rs i*2+1
#define none -1145141919
#define pii pair<int,int>
#define Y cout<<"Yes\n"
#define N cout<<"No\n"
#define H cout<<"\n"
//bool g[MAXN];
int dfn[MAXN],low[MAXN];
vector<int> q[MAXN];
int n,m;
vector<int> st;
vector<int> tot[MAXN];
int ans=0;
int clc;
void dfs(int p,int fa)
{
	cout<<p<<" ";
	dfn[p]=++clc;
	low[p]=dfn[p];
	st.push_back(p);
	for(auto i:q[p])
	{
		if(i==fa) continue;
		if(!dfn[i])
		{
			dfs(i,p);
			low[p]=min(low[p],low[i]);
		}
		else
		{
			if(i!=fa&&dfn[i]<dfn[p])//back_edge
			{
				low[p]=min(low[p],dfn[i]);
			}
		}
	}
	if(low[p]==dfn[p])
	{
		ans++;
		while(!st.empty())
		{
			int bk=st.back();
			if(low[bk]==low[p])
			{
				tot[ans].push_back(bk);
			}
			else break;
		}
	}
	return ;
}
int main()
{
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    /*ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);*/
    memset(low,INF,sizeof(low));
    cin>>n>>m;
    //cout<<n<<"m"<<m;
    //cout<<m<<"\n";
    int uuu,vvv;
    for(int i=1;i<=m;i++)
    {
    	cin>>uuu>>vvv;
    	//cout<<uuu<<" "<<vvv<<"\n";
    	q[uuu].push_back(vvv);
    	q[vvv].push_back(uuu);
    	//cout<<i<<"\n";
    }
    //WA;
    dfs(1,-1);
    cout<<ans<<'\n';
    for(int i=1;i<=ans;i++) 
    {
    	for(auto j:tot[i]) 
    	{
    		cout<<j<<" ";
    	}
    	H;
    }
    return 0;
}
2023/2/23 21:08
加载中...