求助
  • 板块灌水区
  • 楼主MAX_CURRY_JAMES
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/25 20:15
  • 上次更新2024/10/25 20:48:26
查看原帖
求助
796776
MAX_CURRY_JAMES楼主2024/10/25 20:15

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++)
		cout<<b[i]<<' ',c[b[i]]++;
		cout<<endl;
		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:15
加载中...