Cod sursa(job #369664)

Utilizator DraStiKDragos Oprica DraStiK Data 29 noiembrie 2009 09:43:14
Problema Triplete Scor 50
Compilator cpp Status done
Runda Tequila Shot Marime 0.99 kb
#include <algorithm>
#include <vector>
using namespace std;

#define pb push_back
#define DIM 4100

vector <int> lst[DIM];
int viz[DIM];
int n,m,nrt;

void read ()
{
    int i,x,y;

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

void solve ()
{
    freopen ("triplete.in","r",stdin);
    int i,j,x,y;

    scanf ("%d%d",&n,&m);
    for (i=1; i<=m; ++i)
    {
        scanf ("%d%d",&x,&y);
        for (j=1; j<=n; ++j)
            viz[j]=0;
        for (j=0; j<(int)lst[x].size (); ++j)
            ++viz[lst[x][j]];
        for (j=0; j<(int)lst[y].size (); ++j)
            ++viz[lst[y][j]];
        for (j=1; j<=n; ++j)
            if (viz[j]==2 && j!=x && j!=y)
                ++nrt;
    }
    printf ("%d",nrt/3);
}

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

    read ();
    solve ();

    return 0;
}