Submission #106237

#TimeUsernameProblemLanguageResultExecution timeMemory
106237Just_Solve_The_Problem철인 이종 경기 (APIO18_duathlon)C++11
0 / 100
174 ms13672 KiB
#include <bits/stdc++.h>
using namespace std;
 
#define ll long long
#define mk make_pair
#define pb push_back
#define fr first
#define sc second
#define vi vector < int >
#define pii pair < int, int >
 
const int N = 2e5 + 7;
const int INF = 1e9 + 7;
 
ll sz[N];
ll n, m;
ll ans;
 
vi g[N];
 
void dfs (int v = 1, int p = 0){
    sz[v] = 1;
    for (int to : g[v]){
        if (!sz[to]){
            dfs(to, v);
            sz[v] += sz[to];
        }
    }
 
}
 
main(){
    cin >> n >> m;
    for (int i = 1; i <= m; i++){
        int a, b;
        cin >> a >> b;
        g[a].pb(b);
        g[b].pb(a);
    }
    dfs();
    for (int i = 1; i <= n; i++){
        ans += sz[i] * (n - sz[i]);
    }
    cout << (ll) ans * 2 - n * (n - 1);
}

Compilation message (stderr)

count_triplets.cpp:32:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(){
      ^
#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...