危险系数0分求调
  • 板块学术版
  • 楼主MAX_CURRY_JAMES
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/25 20:34
  • 上次更新2024/10/25 21:03:58
查看原帖
危险系数0分求调
796776
MAX_CURRY_JAMES楼主2024/10/25 20:34

https://www.luogu.com.cn/problem/P8604

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,u,v,a[1005][1005],cnt,b[2005],c[2005],ans,k[1005]; 
void dfs(int t,int u){
	if(u==v){
		for(int i=1;i<t;i++)
		cnt++;
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(a[u][i]>0&&k[i]==0) b[t]=i,k[i]=1,dfs(t+1,i),b[t]=0,k[i]=0;
	}
}
signed main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	cin>>u>>v,a[u][v]++,a[v][u]++;
	cin>>u>>v;
	dfs(1,u);
	if(cnt==0) cout<<-1;
	else{
		for(int i=1;i<=n;i++)
		if(c[i]>1) ans++;
		cout<<ans-1;
	}
}

2024/10/25 20:34
加载中...