Pagini recente » Cod sursa (job #1683866) | Cod sursa (job #1026175) | Cod sursa (job #3223047) | Cod sursa (job #219879)
Cod sursa(job #219879)
#include<stdio.h>
#define M 4200
unsigned int a[M][M/32+1];
unsigned int nrb(int x)
{
unsigned int nr=0;
while(x)
{
x&=x-1;
++nr;
}
return nr;
}
void citire()
{
unsigned int n,m;
unsigned int x,y;
scanf("%d%d",&n,&m);
while (m--)
{
scanf("%u%u",&x,&y);
if (x>y)
{
unsigned int a=x;
x=y;
y=a;
}
--x;
--y;
a[x][y>>5]|=1<<(y&31);
}
unsigned int i,j,k,rez=0;
for (i=0; i<n-2;++i)
for (j=i+1; j<n-1;++j)
if (a[i][j>>5]&(1<<(j&31)))
for (k=0; k<=(n>>5); ++k)
rez+=nrb(a[i][k]&a[j][k]);
printf("%d",rez);
}
int main()
{
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
citire();
}