Cod sursa(job #751755)

Utilizator danalex97Dan H Alexandru danalex97 Data 26 mai 2012 20:06:27
Problema Triplete Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#include <bitset>
#include <algorithm>

#define swap(a,b) ( a ^= b ^= a ^= b )
#define NMax 4100
#define MMax 66000

using namespace std;

int N, M, S, X[MMax], Y[MMax];
bitset <NMax> G[NMax];

int main()
{
    freopen ("triplete.in", "r", stdin);
    freopen ("triplete.out", "w", stdout);
    scanf ("%d %d", &N, &M);
    for (int i=1; i<=M; ++i)
    {
        scanf ("%d %d", &X[i], &Y[i]);
        if (X[i]>Y[i])
            swap (X[i], Y[i]);
        G[X[i]].set (Y[i]);
    }
    for (int i=1; i<=M; ++i)
    {
        bitset <NMax> V=G[X[i]]&G[Y[i]];
        S+=V.count ();
    }
    printf ("%d\n", S);
    return 0;
}