Cod sursa(job #96037)

Utilizator risenshineAkil Nasser risenshine Data 31 octombrie 2007 10:03:16
Problema Triang Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

#define NMAX 1500

int N, nr;
double x[NMAX], y[NMAX];

int dist(int i, int j) {
	return sqrt(fabs(x[i]-x[j])*fabs(x[i]-x[j]) + fabs(y[i]-y[j])*fabs(y[i]-y[j]) ) * 1000;
}
int main() {
	int i, j, k;
	freopen("triang.in", "r", stdin);
	freopen("triang.out", "w", stdout);
	scanf("%d", &N);
	for (i = 0; i < N; i++)
		scanf("%lf %lf", &x[i], &y[i]);
	for (i = 0; i < N; i++)
		for (j = i+1; j < N; j++)
			for (k = j+1; k < N; k++) {
				//printf("%d %d %d ", dist(i, j), dist(j, k), dist(i, k));
				if ((dist(i, j) - dist(j, k) == 0 || dist(i, j) - dist(j, k) == -1 || dist(i, j) - dist(j, k) == 1) &&
					(dist(j, k) - dist(i, k) == 0 || dist(j, k) - dist(i, k) == -1 || dist(j, k) - dist(i, k) == 1))
					nr++;
			}
	printf("%d\n", nr);
	return 0;
}