Cod sursa(job #14524)

Utilizator TabaraTabara Mihai Tabara Data 9 februarie 2007 11:49:42
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
//? puncte
//O(n)

#include <fstream>
using namespace std;

#define in "triplete.in"
#define out "triplete.out"
#define NMAX 4096
#define MMAX 65540

int n, m, nrsol,prov, total;
int grad[NMAX];

FILE *fout = fopen( out, "w" );

int main()
{
    FILE *fin = fopen ( in, "r" );
    
    int i;
    int x,y;
    fscanf( fin, "%d%ld", &n, &m );
    
    for ( i = 1; i <= m; ++i )
    {
        fscanf( fin, "%d%d", &x, &y);
        grad[x]++;
        grad[y]++;
    }
    
    
    //rezolvare
    total = ( n * (n-1) * (n-2) ) / 6;
    
    for ( i = 1; i <= n; ++i )
    {
        prov = 0;
        prov = grad[i] * ( n - 1 - grad[i] );
        total -= prov;
    }
    
    fprintf(fout, "%ld\n", total );
    
    fclose ( fin );
    fclose ( fout );
    
    return 0;
}