Pagini recente » Cod sursa (job #1629905) | Cod sursa (job #327961) | preONI 2008 - Runda Finala, Regulament | Cod sursa (job #1437921) | Cod sursa (job #447510)
Cod sursa(job #447510)
#include<stdio.h>
#include<string.h>
#define biti 20
int n,m,nrsol;
struct que
{
int x,y;
};
que q[70005];
int v[5003][303];
int sol;
char nrb[3000004];
int main ()
{
int a,b,i,j,ci;
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=(1<<20);i++)
{
ci=i;
while(ci)
{
nrb[i]+=ci%2;
ci/=2;
}
}
for(i=1;i<=m;i++)
{
scanf("%d%d",&q[i].x,&q[i].y);
a=q[i].x;
b=q[i].y;
v[a][b/biti]+=(1<<(b%biti));
v[b][a/biti]+=(1<<(a%biti));
}
for(i=1;i<=m;i++)
for(j=0;j<=n/biti;j++)
{
sol=(v[q[i].x][j]&v[q[i].y][j]);
nrsol+=nrb[sol];
}
printf("%d\n",nrsol/3);
return 0;
}