80分MLE求助
查看原帖
80分MLE求助
1393222
Emil_楼主2024/10/17 08:25
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,a[10010][10010],s=0,fff,flag[10];
bool f[10010];
void dfs(int x,int sum){
	flag[sum]=x;
	if(sum==4){
		s++;
//		for(int i=1;i<=4;i++)
//			cout<<flag[i]<<" ";
//		cout<<endl;
		return;
	}
	f[x]=true;
	for(int i=1;i<=n;i++){
		if(a[x][i]==1){
			if(!f[i]){
				dfs(i,sum+1);
			}else if(sum==3&&i==fff){
				dfs(i,sum+1);
			}
		}	
	}
	f[x]=false;
}
signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>n>>m;
	int u,v;
	while(m--){
		cin>>u>>v;
		a[u][v]=1;
		a[v][u]=1;
	}
	for(int i=1;i<=n;i++){
		memset(f,0,sizeof(f));
		fff=i;
		dfs(i,1);
	}
	cout<<s;
	return 0;
}
2024/10/17 08:25
加载中...