Cod sursa(job #751746)

Utilizator danalex97Dan H Alexandru danalex97 Data 26 mai 2012 19:59:43
Problema Triplete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#include <bitset>

using namespace std;

#define Maxn 1<<12+1
#define Maxm 1<<16+1

int N, M, A[Maxm], B[Maxm], Res;
bitset<Maxn> G[Maxn];

int main(void)
{
    int i, a, b;
    bitset<Maxn> t;

    freopen("triplete.in", "r", stdin);
    freopen("triplete.out", "w", stdout);

    scanf("%d %d\n", &N, &M);
    for (i = 0; i < M; i++)
    {
        scanf("%d %d\n", &a, &b);
        a--, b--;
        G[a][b] = G[b][a] = 1;
        A[i] = a, B[i] = b;
    }

    for (i = 0; i < M; i++)
    {
        t = G[A[i]] & G[B[i]];
        Res += t.count();
    }

    printf("%d\n", Res/3); 

    return 0;
}