Cod sursa(job #60193)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 12 mai 2007 22:05:35
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
unsigned long long int i,doila[64],n,m,a,b,c,d,col,bit,j,x[4096][32],k,y,sol;
int main()
{
	for(i=1;i<=63;i++)
	doila[i]=doila[i-1]*2;
	FILE *f,*g;
	f=fopen("triplete.in","r");
	g=fopen("triplete.out","w");
	fscanf(f,"%llu%llu",&n,&m);
	for(i=1;i<=m;i++)
	{
		fscanf(f,"%llu%llu",&a,&b);
		c=(a<b)?a:b;
		d=(a<b)?b:a;
		col=d/64;bit=d%64;
		x[c-1][col]|=doila[bit];
	}
	for(i=0;i<n-1;i++)
	for(j=i+1;j<=n-1;j++)
		{ for(k=0;k<32;k++)
		  y=x[i][k]&x[j][k];
		  while(y) sol+=y%2;y/=2;
		}
	fprintf(g,"%llu\n",sol);
	fcloseall();
	return 0;
}