Cod sursa(job #206169)
| Utilizator | Data | 5 septembrie 2008 09:35:57 | |
|---|---|---|---|
| Problema | Triplete | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<stdio.h>
unsigned n,m,i,j,k,x[4096][128];//4096,128
long long sol;
int main()
{ freopen("triplete.in","r",stdin);
scanf("%u%u",&n,&m);
for(i=1;i<=m;i++)
{ scanf("%u%u",&j,&k);j--;k--;
if(j<k)x[j][k>>5]|=1<<(k&31);
else x[k][j>>5]|=1<<(j&31);
}
for(i=0;i<n-2;i++)
for(j=i+1;j<n-1;j++)
if(x[i][j>>5]&(1<<(j&31))
for(k=j+1;k<n;k++)
if(x[i][k>>5]&(1<<(k&31))
if(x[j][k>>5]&(1<<(k&31))
sol++;
printf("%lld",sol);
return 0;
}
