Cod sursa(job #475390)

Utilizator theodora_maneaManea Theodora Maria theodora_manea Data 6 august 2010 22:09:14
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <stdio.h>

int i,n,m,v[4096][128],nr,x,y,z,j,k,sol;

int main () {
	freopen("triplete.in","r",stdin);
	freopen("triplete.out","w",stdout);
	scanf("%d%d\n",&n,&m);
	for (i=1; i<=m; i++) {
		scanf("%d%d\n",&x,&y);
		v[x][y>>5]|=(1<<(y&31));
		v[y][x>>5]|=(1<<(x&31));
	}
	
	for (i=1; i<n; i++)
		for (j=i+1; j<=n; j++)
			if (v[x][y>>5] & (1<<(y&31))) {
				nr=0;
				for (k=0; k<128; k++) {
					z=v[i][k] & v[j][k];
					while (z) {
						nr++;
						z=z&(z-1);
					}
				}
				sol+=nr;
			}
	
	printf("%d\n",sol/3);
    return 0;
}