Pagini recente » Cod sursa (job #1965073) | Cod sursa (job #1663862) | Cod sursa (job #2321027) | Cod sursa (job #807091) | Cod sursa (job #60201)
Cod sursa(job #60201)
#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;c--;
d=(a<b)?b:a;d--;
col=d/64;bit=d%64;
x[c][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;
}