제출 #1361678

#제출 시각아이디문제언어결과실행 시간메모리
1361678khangai11철인 이종 경기 (APIO18_duathlon)C++20
5 / 100
1096 ms14396 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
vector<int> par;
vector<vector<int>> g;
int root(int i){
	if(par[i]==i){
		return i;
	}
	int ri=root(par[i]);
	return par[i]=ri;
}
void join(int i,int j){
	int ri=root(i),rj=root(j);
	if(ri==rj){
		return;
	}
	par[rj]=ri;
}
vector<int> rm;
bool dfs(int i,int c,int f,int z){
	if(rm[i]==1){
		return false;
	}
	rm[i]=1;
	if(i==c){
		z=1;
	}
	if(i==f and z==1){
		return true;
	}
	for(auto x:g[i]){
		if(rm[x]==0){
			if(dfs(x,c,f,z)){
				return true;
			}
		}
	}
	rm[i]=0;
	return false;
}
void solve(){
	int n,m;
	cin>>n>>m;
	par.resize(n+1);
	g.resize(n+1);
	rm.resize(n+1,0);
	for(int a=1;a<=n;a++){
		par[a]=a;
	}
	for(int a=0;a<m;a++){
		int u,v;
		cin>>u>>v;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	ll D=0;
	for(int a=1;a<=n;a++){
		for(int b=1;b<=n;b++){
			for(int c=1;c<=n;c++){
				if(a!=b and b!=c and c!=a){
					if(dfs(a,b,c,0)){
						D++;
					}
					fill(rm.begin(),rm.end(),0);
				}
			}
		}
	}
	cout<<D<<endl;
}
signed main(){
	ios::sync_with_stdio();
	cin.tie(0);
	cout.tie(0);
	ll t=1;
//	cin>>t;
	for(ll a=0;a<t;a++){
		solve();
	}
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…