Submission #1160977

#TimeUsernameProblemLanguageResultExecution timeMemory
1160977crafticatDuathlon (APIO18_duathlon)C++20
0 / 100
49 ms10820 KiB
#include <bits/stdc++.h> using namespace std; #define F0R(i, n) for (int i = 0; i < n; i++) #define FOR(i, a, b) for (int i = (a); i < (b); i++) #define ROF(i, a, b) for (int i = (a); i >= (b); i--) #define REP(i, n) for (int i = (n); i >= 0; i--) template<typename T> using V = vector<T>; using vi = vector<int>; using ll = long long; V<vi> g; vi vis; int count(int x) { vis[x] = 1; int ans = 1; for (auto y : g[x]) { if (vis[y]) continue; ans += count(y); } return ans; } int main() { int n, m; cin >> n >> m; g.resize(n + 1); vis.resize(n + 1); F0R(i, m) { int a, b; cin >> a >> b; g[a].push_back(b); g[b].push_back(a); } ll ans = 0; FOR(i, 1, n + 1) { if (!vis[i]) { ll x = count(i); if (x > 2) ans += x * (x - 1) * (x - 2) / 3; } } cout << ans << endl; }
#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...