Pagini recente » Cod sursa (job #708614) | Cod sursa (job #2468246) | Cod sursa (job #2445776) | Cod sursa (job #1051630) | Cod sursa (job #211255)
Cod sursa(job #211255)
# include <cstdio>
# define FIN "triplete.in"
# define FOUT "triplete.out"
# define MAXN 210
# define MAXL 4100
# define MAXD 1<<20
# define MAXK 65540
unsigned int N,M,i,j,cont;
unsigned int A[MAXL][MAXN];
unsigned int a[MAXK],b[MAXK];
unsigned int cnt[MAXD];
int main()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d%d",&N,&M);
for (i = 1; i <= M; ++i)
{
scanf("%d%d",&a[i],&b[i]);
A[a[i]][b[i]/20] += 1<<(b[i]%20);
A[b[i]][a[i]/20] += 1<<(a[i]%20);
}
for (i = 1; i <= MAXD; ++i)
cnt[i] = cnt[i>>1] + (i & 1);
for (i = 1; i <= M; ++i)
for (j = N/20; j >= 0; --j)
cont += cnt[A[a[i]][j]&A[b[i]][j]];
printf("%d",cont/3);
return 0;
}