Cod sursa(job #6904)

Utilizator sima_cotizoSima Cotizo sima_cotizo Data 21 ianuarie 2007 10:40:55
Problema Triplete Scor 50
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasa a 10-a Marime 0.73 kb
#include <cstdio>

#define FIN "triplete.in"
#define	FOUT "triplete.out"
#define MAX_M 65600
#define MAX_N 4100

struct muchie {
	long x,y;
};

char A[MAX_N][MAX_N];
muchie L[MAX_M];
long N, M;
long long num;

void load_graph() {
	long i;

	freopen(FIN, "r", stdin);
	scanf("%ld %ld", &N, &M);
	for (i=0; i<M; ++i) {
		scanf("%ld %ld", &L[i].x, &L[i].y);
		A[ L[i].x ][ L[i].y ] =1;
		A[ L[i].y ][ L[i].x ] =1;
	}
	fclose(stdin);
}
void write_answer() {
	freopen(FOUT, "w", stdout);
	printf("%lld\n", num);
	fclose(stdout);
}

void solve1() {
	long i,j;
	for (i=0; i<M; ++i) 
		for (j=1; j<=N; ++j)
			if ( A[ L[i].x ][j] == 1 && A[ L[i].y ][j] == 1 )
				num++;
	num/=3;
}

int main() {
	load_graph();
	solve1();
	write_answer();
	return 0;
}