#include #include typedef struct town { int x; int y; } TOWN; int main() { int N; int i, j; double count; while (scanf("%d", &N) > 0) { count = 0; TOWN *arr = (TOWN*)malloc(N * sizeof(TOWN)); for (i = 0; i < N; i++) { scanf("%d %d", &arr[i].x, &arr[i].y); for(j = 0; j < i; j++){ if(abs((double)(arr[i].x - arr[j].x) / (double)(arr[i].y - arr[j].y)) == 1){ count ++; //printf("%d\n", count); } } } double countOfPairs = (double)(N) * (double)(N) / 2; // for (i = 0; i < N - 1; i++) { // for (j = i + 1; j < N; j++) { // if (abs((double)(arr[i].x - arr[j].x) / (double)(arr[i].y - arr[j].y)) == 1) // count++; // } // } printf("%g\n", count/countOfPairs); } return 0; }