Pagini recente » Cod sursa (job #2145574) | Cod sursa (job #2549024) | Cod sursa (job #2622554) | Cod sursa (job #929861) | Cod sursa (job #60198)
Cod sursa(job #60198)
#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()
{ doila[0]=1;
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++)
{ col=j/64;bit=j%64;a=x[i][col];
if(bit) a/=doila[bit]-1;a%=2;
if(a)
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;
}