Cod sursa(job #8416)

Utilizator cos_minBondane Cosmin cos_min Data 24 ianuarie 2007 18:59:50
Problema Triplete Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <stdio.h>
#include <vector>
using namespace std;

#define in "triplete.in"
#define out "triplete.out"
#define dim 4096
#define dr 65536

//bool a[dim][dim];
vector< vector<bool> > a;
int arb[2][dr];
int n, m;

int main()
{
    int x, y;
    int nr=0;
    freopen(in,"r",stdin);
    freopen(out,"w",stdout);
    scanf("%d%d", &n, &m);
    
    a.resize(n+1);
    
    for ( int i = 1; i <= n; i++ )
        a[i].resize(n+1);
        
    for ( int i = 1; i <= m; i++ )
    {
        scanf("%d%d",&x,&y);
        a[y][x] = a[x][y] = 1;
        arb[0][i] = x;
        arb[1][i] = y;
    }
    
    for ( int i = 1; i <= m; i++ )
    {
        x = arb[0][i];
        y = arb[1][i];
        for ( int j = 1; j <= n; j++ )
        {
            if ( a[x][j] == 1 && a[y][j] == 1 )
            {
                // if ( !sel[y][x][j] ) 
                 {
                      nr += 1;
                      //sel[y][x][j] = sel[y][j][x] = sel[x][y][j] = sel[x][j][y] = sel[j][y][x] = sel[j][x][y] = 1;
                 }
            }
        }
    }
    
    printf("%d",nr/3);
    
}