Cod sursa(job #1901438)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 3 martie 2017 22:53:22
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
# include <bits/stdc++.h>

using namespace std;

const int nmax = 4096 + 10;

int x, y, n, m, i, ap[nmax];

vector <int> G[nmax];

int sol (int x)
{
    int Sol = 0;
    for (auto &it : G[x])
        ap[it] = true;

    for (auto &it : G[x])
    {
        int y = it;
        if (y > x)
        {
            for (auto &it2 : G[y])
                if (it2 > y && ap[it2]) ++Sol;
        }
    }

    for (auto &it : G[x])
        ap[it] = false;

    return Sol;
}
int main ()
{
    freopen("triplete.in", "r", stdin);
    freopen("triplete.out", "w", stdout);

    scanf("%d %d\n", &n, &m);

    for (i = 1; i <= m; ++i)
    {
        scanf("%d %d\n", &x, &y);
        G[x].push_back(y), G[y].push_back(x);
    }

    int ans = 0;

    for (i = 1; i < n - 1; ++i)
    {
        ans += sol(i);
    }

    printf("%d\n", ans);

    return 0;
}