Pagini recente » Cod sursa (job #1250305) | Cod sursa (job #350467) | Cod sursa (job #2199281) | Cod sursa (job #1538811) | Cod sursa (job #212175)
Cod sursa(job #212175)
#include <stdio.h>
#include <algorithm>
#define lim_bz2 255
#define mx 4100
using namespace std;
int x[mx], y[mx];
long v[mx][mx >> 3 + 4];
int nr_biti[lim_bz2 + 4];
int n, m, rez;
int main()
{
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%ld %ld", &n, &m);
for (int i = 1; i <= lim_bz2; i++)
nr_biti[i] = nr_biti[i >> 1] + (i & 1);
for (int i = 1; i <= m; i++)
{
scanf("%ld %ld", &x[i], &y[i]);
v[x[i]][y[i] >> 3] |= (1 << (y[i] & 7));
v[y[i]][x[i] >> 3] |= (1 << (x[i] & 7));
}
for (int i = 1; i <= m; i++)
for (int k = 0; k <= (n >> 3) + 1; k++)
rez += nr_biti[v[x[i]][k] & v[y[i]][k]];
printf("%ld\n", rez / 3);
fclose(stdin);
fclose(stdout);
return 0;
}