Pagini recente » Cod sursa (job #3147568) | Cod sursa (job #1085282) | Cod sursa (job #118512) | Cod sursa (job #2689958) | Cod sursa (job #7524)
Cod sursa(job #7524)
#include <stdio.h>
#define NMax 16
int N, M, nr_bit[1<<NMax], D[4096][4096/NMax + 5], x[65537], y[65537], cnt = 0;
int main(void)
{
int i, j, octet, p;
freopen("triplete.in", "r", stdin);
freopen("triplete.out", "w", stdout);
for (i = 0; i < (1<<NMax); i++)
for (j = 0; j < NMax; j++)
if (i & (1<<j))
nr_bit[i]++;
scanf("%d %d", &N, &M);
for (p = 1; p <= M; p++)
{
scanf("%d %d", &i, &j);
i--; j--;
octet = j/NMax; D[i][octet] += (1<<(j & NMax));
octet = i/NMax; D[j][octet] += (1<<(i & NMax));
x[p] = i; y[p] = j;
}
p = N/NMax;
for (i = 1; i <= M; i++)
for (j = 0; j <= p; j++)
cnt += nr_bit[D[x[i]][j] & D[y[i]][j]];
printf("%d\n", cnt/3);
return 0;
}