Cod sursa(job #447472)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 28 aprilie 2010 20:27:10
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>

#define file_in "triplete.in"
#define file_out "triplete.out"

int n,m,grad[100000];
char ch[100];


void citire()
{
	int i,x,y,j;
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d %d\n", &n, &m);
	for (i=1;i<=m;++i)
	  {
	   scanf("%d %d", &x, &y);
	   grad[x]++;
	   grad[y]++;
	   }

}


void solve()
{
	int i,nr;
	int s=0,ss;
	for (i=1;i<=n;++i) 
		 grad[i]=n-1-grad[i];      
	for (i=1;i<=n;++i)
		 s+=((n-1-grad[i])*grad[i]);
	ss=(n*(n-1)*(n-2))/6;
	printf("%d", ss-s/2);
}

int main()
{
	citire();
    solve();
	
	fclose(stdin);
	fclose(stdout);
	
	return 0;
	
}