小蒟蒻50分,求助!!!!!
  • 板块题目总版
  • 楼主Pumpk1n
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/17 20:29
  • 上次更新2024/6/17 20:32:21
查看原帖
小蒟蒻50分,求助!!!!!
815835
Pumpk1n楼主2024/6/17 20:29
#include <bits/stdc++.h>
using namespace std;
int dfn[106],low[106],tot,n,u,v,s,t;
bool pos[106];
vector<int> e[106];
void dfs(int u,int fa){
	dfn[u] = low[u] = ++tot;
	for(int &v:e[u]){
		if(!dfn[v]){
			dfs(v,u);
			low[u] = min(low[u],low[v]);
			if(dfn[u] <= low[v])
				pos[u] = 1;
		}else low[u] = min(low[u],dfn[v]);
	}
}
void tarjan(){
	dfs(s,0);
	for(int i = 1;i <= n; i++){
		if(i == s||i == t) continue;
		if(dfn[i]&&pos[i]&&dfn[i] < dfn[t]){
			cout << i;
			exit(0);
		}
	}
}
void solve(){
	cin >> n;
	while(1){
		cin >> u >> v;
		if(u == 0&&v == 0) break;
		e[u].push_back(v);
		e[v].push_back(u);
	}
	cin >> s >> t;
	tarjan();
	cout << "No solution";
}
main(){
	solve();
	return 0;
}

哪错了啊

大佬们别走,帮帮我吧

2024/6/17 20:29
加载中...