Cod sursa(job #473722)
| Utilizator | Data | 31 iulie 2010 15:37:45 | |
|---|---|---|---|
| Problema | Triplete | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <stdio.h>
int i,n,m,x,y,a[65536],b[65536],sol,p;
char v[4097],nr;
int cnt() {
p=0;
while (nr) {
p++;
nr&=(nr-1);
}
return p;
}
int main () {
freopen("triplete.in","r",stdin);
freopen("triplete.out","w",stdout);
scanf("%d%d\n",&n,&m);
for (i=0; i<m; i++) {
scanf("%d%d\n",&x,&y);
x--;
y--;
v[x]|=(1<<y);
v[y]|=(1<<x);
a[i]=x;
b[i]=y;
}
sol=0;
for (i=0; i<m; i++) {
nr=v[a[i]] & v[b[i]];
sol+=cnt();
}
printf("%d\n",sol/3);
return 0;
}
