Cod sursa(job #211735)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 3 octombrie 2008 15:40:44
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>         
long long n,S;         
long long t[4010];         
int main()         
{         
    freopen("triplete.in","rt",stdin);
    scanf("%lld %lld\n", &n,&S);         
    long long i,x,y,j;         
    char ch[100];
    for (i=1;i<=S;++i)
	 {
	 gets(ch);
	 x=y=j=0;
	 while(ch[j]!=' ')
	       {
	       x=x*10+ch[j]-'0';
	       j++;
	       }
	       j++;
	 while(ch[j])
	       {
	       y=y*10+ch[j]-'0';
	       j++;
	       }
	 t[x]++;
	 t[y]++;
	 }
	  for (i=1;i<=n;++i)
               t[i]=n-1-t[i];         
          long long tri=0;         
          for (i=1;i<=n;++i)         
	       tri=((n-1-t[i])*t[i])+tri;
     long long nrtri=(n*(n-1)*(n-2)/6);
     freopen("triplete.out","wt",stdout);
     printf("%lld", nrtri-tri/2);
return 0;
}