답안 #277100

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
277100 2020-08-21T03:15:14 Z tinjyu 철인 이종 경기 (APIO18_duathlon) C++14
0 / 100
1 ms 384 KB
#include <iostream>
using namespace std;
long long int son[1000005],ans,cnt,tmp[1000005],n,m,road[1000005],map[1000005][2];
void dfs(int x,int fa)
{
	son[x]=1;
	long long int g=road[x];
	while(g!=-1)
	{
		long long int now=map[g][0];
		if(now!=fa)
		{
			dfs(now,x);
			son[x]+=son[now];
		}
		g=map[g][1];
	}
	return ;
}
void find(int x,int fa)
{
	cnt=0;
	long long int g=road[x];
	while(g!=-1)
	{
		long long int now=map[g][0];
		if(now!=fa)
		{
			ans+=(n-son[now]-1)*son[now];
		}
		g=map[g][1];
	}
	ans+=(n-son[x])*(son[x]-1);
	g=road[x];
	while(g!=-1)
	{
		long long int now=map[g][0];
		if(now!=fa)
		{
			find(now,x);
		}
		g=map[g][1];
	}
	return ;
}
int main(){
	cin>>n>>m;
	if(n==m)
	{
		cout<<n*(n-1)*(n-2);
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		ans+=(i-1)*(n-i);
	}
	cout<<ans*2<<endl;
	return 0;
	for(int i=1;i<=n;i++)road[i]=-1;
	for(int i=1;i<=m;i++)
	{
		int u,v;
		cin>>u>>v;
		map[i*2][0]=v;
		map[i*2][1]=road[u];
		road[u]=i*2;
		map[i*2+1][0]=u;
		map[i*2+1][1]=road[v];
		road[v]=i*2+1;
	}
	dfs(1,-1);
	find(1,-1);
	cout<<ans<<endl;
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 256 KB Output is correct
2 Correct 0 ms 256 KB Output is correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 384 KB Output isn't correct
2 Halted 0 ms 0 KB -