Submission #92502

#TimeUsernameProblemLanguageResultExecution timeMemory
92502antimirageDuathlon (APIO18_duathlon)C++14
0 / 100
98 ms9764 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, deg[N], 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); } } main() { cin >> n >> m; g.resize(n + 1); for (int i = 1; i <= m; i++) { scanf("%d%d", &x, &y), deg[x]++, deg[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; }

Compilation message (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:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &x, &y), deg[x]++, deg[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...