Pagini recente » Cod sursa (job #1185229) | Cod sursa (job #2405232) | Cod sursa (job #1120563) | Cod sursa (job #1828397) | Cod sursa (job #543919)
Cod sursa(job #543919)
#include <stdio.h>
#define NMAX 4005
#define LMAX 35
#define ll long long
int n,m,A[NMAX];
ll rez1,rez2;
char line[LMAX];
inline int cif(char x)
{
return x>='0' && x<='9';
}
int main()
{
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d%d\n",&n,&m);
int i,x,y,poz;
for (i=1; i<=m; i++)
{
fgets(line+1,LMAX,stdin);
x=y=poz=0;
while (!cif(line[poz+1])) poz++;
while (cif(line[poz+1])) poz++,x=x*10+line[poz]-'0';
while (!cif(line[poz+1])) poz++;
while (cif(line[poz+1])) poz++,y=y*10+line[poz]-'0';
A[x]++; A[y]++;
}
for (i=1; i<=n; i++)
rez1+=(ll)A[i]*(n-1-A[i]);
rez1/=2;
rez2=(ll)n*(n-1)*(n-2)/6;
printf("%lld\n",rez2-rez1);
return 0;
}