Cod sursa(job #8030)
Utilizator | Data | 23 ianuarie 2007 18:13:36 | |
---|---|---|---|
Problema | Triplete | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <stdio.h>
#define NMAX 5000
int gr[NMAX];
int i, N, M;
long long Nr, Cnt;
int a, b;
int main()
{
freopen("triplete.in", "r", stdin);
freopen("triplete.out", "w", stdout);
scanf("%d %d", &N, &M);
Nr = (long long)N*(N-1)*(N-2)/6;
for (i = 1; i <= M; i++)
{
scanf("%d %d", &a, &b);
gr[a]++;
gr[b]++;
}
for (i = 1; i <= N; i++) Cnt += (long long) gr[i]*(N - 1 - gr[i]);
Cnt /= 2;
printf("%lld\n", Nr - Cnt);
return 0;
}