Pagini recente » Cod sursa (job #777459) | Cod sursa (job #3160199) | Cod sursa (job #287878) | Cod sursa (job #1789903) | Cod sursa (job #190674)
Cod sursa(job #190674)
#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][Nmax/7];
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;
}