Pagini recente » Cod sursa (job #2817110) | Cod sursa (job #1825072) | Cod sursa (job #1857028) | Cod sursa (job #1613070) | Cod sursa (job #324099)
Cod sursa(job #324099)
#include<stdio.h>
int n,m;
int v[4100][132];
void read()
{
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d%d",&n,&m);
int i,x,y;
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
v[x][y/32+1]|=(1<<((y&31)-1));
v[y][x/32+1]|=(1<<((x&31)-1));
}
}
void rez()
{
int i,j,k,lim=n/32+1,x,nr1,nr=0;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
if((v[i][j/32+1]&(1<<((j&31)-1))))
{
for(k=1;k<=lim;k++)
{
nr1=0;
x=v[i][k]&v[j][k];
while(x)
{
nr1++;
x=x&(x-1);
}
nr+=nr1;
}
}
printf("%d\n",nr/3);
}
int main()
{
read();
rez();
return 0;
}