답안 #85994

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
85994 2018-11-23T17:10:12 Z fedoseevtimofey 철인 이종 경기 (APIO18_duathlon) C++14
0 / 100
90 ms 12792 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;

const int N = 1e5 + 7;

vector <int> g[N];
int cnt[N];
bool used[N];
int sz[N];
int cmp[N];

int x = 0;

void dfs(int u) {
    used[u] = 1;
    cmp[u] = x;
    ++sz[x];
    cnt[u] = 1;
    for (auto v : g[u]) {
        if (!used[v]) {
            dfs(v);
            cnt[u] += cnt[v];
        }
    }
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0); cout.setf(ios::fixed); cout.precision(20);
    #ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
    int n, m;
    cin >> n >> m;
    for (int i = 0; i < m; ++i) {
        int u, v;
        cin >> u >> v;
        --u, --v;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    for (int i = 0; i < n; ++i) {
        if (!used[i]) {
            ++x;
            dfs(i);
        }
    }
    ll ans = 0;
    for (int i = 0; i < n; ++i) {
        vector <int> curs;
        int have = 0;
        for (auto j : g[i]) {
            curs.push_back(cnt[j]);
            have += cnt[j];
        }
        curs.push_back(sz[cmp[i]] - have);
        for (auto i : curs) {
            ans += (ll)i * (have - i);
        }
    }
    cout << ans << '\n';
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 2680 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 2680 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 90 ms 12792 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 12792 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 72 ms 12792 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 12792 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 77 ms 12792 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 2680 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 4 ms 2680 KB Output isn't correct
2 Halted 0 ms 0 KB -