Submission #2526088


Source Code Expand

#include<bits/stdc++.h>
#define For(i, a, b)  for(int i = a; i <= b; ++i)
#define Ford(i, a, b) for(int i = a; i >= b; --i)
#define F             "TRIPEDGE"
#define READ          freopen(F".inp", "r", stdin)
#define WRITE         freopen(F".out", "w", stdout)
#define ll            long long
#define pb            push_back

const int N = 1e6 + 7;

using namespace std;

static ll n, m, u, v, color[N], chk[N], flag = 0;
vector<ll> a[N];

void dfs(int u)
{
    chk[u] = 1;
    int newcolor = 1 - color[u];
    for(int v: a[u])
    {
        if(color[v] == -1) color[v] = newcolor;
        else if(color[v] != newcolor) flag = 1;
        if(chk[v] == 0) dfs(v);
    }
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    //READ; WRITE;
    cin >> n >> m;
    For(i, 1, m)
    {
        cin >> u >> v;
        a[u].pb(v);
        a[v].pb(u);
    }
    For(i, 1, n)
    {
        if(chk[i] == 1) continue;
        fill_n(color, N, -1);
        color[i] = 1;
        dfs(i);
        if(flag == 1)
        {
            cout << n * (n - 1) / 2 - m;
            return 0;
        }
    }
    ll cnt1 = 0, cnt2 = 0;
    For(i, 1, n)
    {
        if(color[i] == 1) ++cnt1;
        else ++cnt2;
    }
    cout << cnt1 * cnt2 - m;
return 0;
}

Submission Info

Submission Time
Task C - 3 Steps
User AnyOneCrushMe
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1328 Byte
Status AC
Exec Time 52 ms
Memory 37504 KB

Judge Result

Set Name sample all
Score / Max Score 0 / 0 500 / 500
Status
AC × 2
AC × 28
Set Name Test Cases
sample sample-01.txt, sample-02.txt
all sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 12 ms 33152 KB
01-02.txt AC 11 ms 33152 KB
01-03.txt AC 11 ms 33152 KB
01-04.txt AC 12 ms 33152 KB
01-05.txt AC 11 ms 33152 KB
01-06.txt AC 12 ms 33280 KB
01-07.txt AC 12 ms 33152 KB
01-08.txt AC 12 ms 33152 KB
01-09.txt AC 12 ms 33280 KB
01-10.txt AC 12 ms 33280 KB
02-01.txt AC 52 ms 37376 KB
02-02.txt AC 50 ms 36864 KB
02-03.txt AC 50 ms 36864 KB
02-04.txt AC 49 ms 36864 KB
02-05.txt AC 51 ms 36864 KB
02-06.txt AC 49 ms 36864 KB
02-07.txt AC 47 ms 37248 KB
02-08.txt AC 51 ms 37504 KB
02-09.txt AC 51 ms 37120 KB
02-10.txt AC 27 ms 35968 KB
02-11.txt AC 36 ms 36096 KB
02-12.txt AC 44 ms 36736 KB
02-13.txt AC 45 ms 36864 KB
02-14.txt AC 48 ms 37120 KB
sample-01.txt AC 11 ms 33152 KB
sample-02.txt AC 11 ms 33152 KB