Pagini recente » Istoria paginii utilizator/cristinaioana | Cod sursa (job #1238724) | Istoria paginii utilizator/kretors | Istoria paginii utilizator/daria_stoian | Cod sursa (job #8032)
Cod sursa(job #8032)
#include <stdio.h>
#define NMAX 5002
#define XMAX 2501
int g[NMAX];
int i, N, M, a, b;
long long rez, cnt;
int main()
{
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d %d", &N, &M);
if (N == 1) { printf("0\n"); return 0; }
if (N == 2) { printf("0\n"); return 0; }
if (N == 3 && M != 3) { printf("0\n"); return 0;}
rez = 1;
cnt = 0;
for (i = 1; i <= M; i++)
{
scanf("%d %d", &a, &b);
g[a]++;
g[b]++;
}
for (i = 1; i <= XMAX; i++)
{
if (i >= N - 3 + 1 && i <= N) rez *= i;
cnt += g[i] * (N-1-g[i]);
}
rez /= 6;
cnt /= 2;
rez -= cnt;
printf("%lld\n", rez);
return 0;
}