Pagini recente » Cod sursa (job #1511976) | Cod sursa (job #1060031) | Cod sursa (job #2029702) | Cod sursa (job #1377165) | Cod sursa (job #190675)
Cod sursa(job #190675)
#include <stdio.h>
#define Nmax 5000
#define Mmax 65800
#define IN "triplete.in"
#define OUT "triplete.out"
short int nod[Nmax],xx[Mmax],yy[Mmax];
int nr,nrm,n,m;
unsigned char a[Nmax][1000];
void scan()
{
int x,y;
freopen(IN, "r",stdin);
freopen(OUT, "w",stdout);
scanf("%d%d", &n,&m);
for(int i=1;i<=m;++i)
{
scanf("%d%d", &x,&y);
--x;
--y;
++nod[x];
++nod[y];
xx[++nr]=x;
yy[nr]=y;
a[x][y/8] |= 1<<(y%8);
a[y][x/8] |= 1<<(x%8);
}
}
void solve()
{
int x,rez=0;
for(int i=1;i<=m;++i)
if(nod[xx[i]]>=2 && nod[yy[i]]>=2)
{
for(int k=0;k<=n/8;++k)
{
x=a[xx[i]][k] & a[yy[i]][k];
while(x)
{
++rez;
x&=(x-1);
}
}
}
printf("%d", rez/3);
}
int main()
{
scan();
solve();
return 0;
}