求hack数据
查看原帖
求hack数据
561907
Furina_Saikou楼主2024/12/14 15:04

hack过了,Wa #3#4#6#7,求hack

#include<bits/stdc++.h>
#define int long long
#define min(x,y) (x<y?x:y)
using namespace std;
const int N=1919810;
int n,a,b,head[N],id,to[N],ne[N],dfn[N],tot,low[N],ans=114514;
inline void add(int x,int y)
{
	to[++id]=y,ne[id]=head[x],head[x]=id;
}
int dfs(int u)
{
	static int v;
	int flag=0;
	low[u]=dfn[u]=++tot;
	for(int i=head[u];i;i=ne[i])
	{
		v=to[i];
		if(!dfn[v])
		{
			if(dfs(v))
			{
				flag=1;
				if(dfn[u]<=low[v]&&u!=a)ans=min(ans,u);
			}
			low[u]=min(low[u],low[v]);
		}else
		{
			low[u]=min(low[u],dfn[v]);
		}
	}
	if(u==b)return 1;
	return flag;
}
signed main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n;
	int x,y;
	cin>>x>>y;
	while(x&&y)
	{
		add(x,y),add(y,x);
		cin>>x>>y;
	}
	cin>>a>>b;
	if(!dfs(a)||ans==114514)cout<<"No solution";
	else cout<<ans;
}
2024/12/14 15:04
加载中...