제출 #92503

#제출 시각아이디문제언어결과실행 시간메모리
92503antimirage철인 이종 경기 (APIO18_duathlon)C++14
8 / 100
85 ms11000 KiB
#include <bits/stdc++.h>
 
#define fr first
#define sc second
#define mk make_pair
#define pb emplace_back
#define all(s) s.begin(), s.end()
 
using namespace std;

const int N = 1e5 + 5;

int n, m, x, y, u[N];
long long cn;

vector < vector <int> > g;

long long ans;

bool fl;

void dfs (int v, int p = 0)
{
	cn++;
	u[v] = 1;
	for (auto to : g[v])
	{
		if (u[to] && to != p) fl = 1;
		
		if (u[to]) continue;
		dfs(to, v);
	}
}

main() 
{
	cin >> n >> m;
	g.resize(n + 1);
	
	for (int i = 1; i <= m; i++)
	{
		scanf("%d%d", &x, &y);
		g[x].pb(y);
		g[y].pb(x);
	}
	for (int i = 1; i <= n; i++)
	{
		if (u[i]) continue;
		cn = 0;
		fl = false;
		dfs(i);
		if (fl)
			ans += cn * 1ll * (cn - 1) * (cn - 2);
		else
			ans += cn * 1ll * (cn - 1) * (cn - 2) / 3;
	}
	cout << ans << endl;
}

컴파일 시 표준 에러 (stderr) 메시지

count_triplets.cpp:35:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main() 
      ^
count_triplets.cpp: In function 'int main()':
count_triplets.cpp:42:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &x, &y);
   ~~~~~^~~~~~~~~~~~~~~~
#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...