제출 #288513

#제출 시각아이디문제언어결과실행 시간메모리
288513ScarletS철인 이종 경기 (APIO18_duathlon)C++17
8 / 100
186 ms10236 KiB
#include <bits/stdc++.h>
#define ll long long
#define sz(x) (int)(x).size()
using namespace std;

const int MAXN = 1e5 + 7;
vector<int> edges[MAXN];
bool done[MAXN],ok;
ll ans,cur;

void dfs(int c)
{
	done[c]=1;
	++cur;
	if (sz(edges[c])<2)
		ok=0;
	for (int i : edges[c])
		if (!done[i])
			dfs(i);
}

int main()
{
	int n,m,u,v;
	cin>>n>>m;
	while (m--)
	{
		cin>>u>>v;
		edges[u].push_back(v);
		edges[v].push_back(u);
	}
	for (int i=1;i<=n;++i)
		if (!done[i])
		{
			cur=0;
			ok=1;
			dfs(i);
			if (ok)
				ans+=((cur)*(cur-1)*(cur-2));
			else
				ans+=(((cur)*(cur-1)*(cur-2))/3);
		}
	cout<<ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...