Pagini recente » Cod sursa (job #1064379) | Cod sursa (job #2629327) | Cod sursa (job #2126465) | Cod sursa (job #2634822) | Cod sursa (job #1289505)
#include "stdio.h"
#include <algorithm>
using namespace std;
FILE *f, *g;
int a[1001], b[1001], n;
int sum;
long double panta[1000001];
int index = 0;
int panta_0 = 0;
int length, number;
long double current;
int main()
{
f = fopen("trapez.in", "r");
g = fopen("trapez.out", "w");
fscanf(f, "%d", &n);
for(int i = 1; i <= n; i++)
fscanf(f, "%d %d", &a[i], &b[i]);
for(int i = 1; i < n; i++)
for(int j = i+1; j <= n; j++)
{
if(a[i] == a[j])
panta_0 = panta_0 + 1;
else
{
panta[++index] = (double) (b[j] - b[i]) / (a[j] - a[i]);
}
}
sort(panta+1, panta+1+index);
length = index;
number = 1;
current = panta[1];
sum = 0;
for(int i = 2; i <= length; i++)
{
if(panta[i] != current)
{
sum = sum + (number - 1) * number / 2;
number = 0;
current = panta[i];
}
number = number + 1;
}
sum = sum + (number - 1) * number / 2;
if(panta_0 != 0)
sum = sum + (panta_0 - 1) * panta_0 / 2;
fprintf(g, "%d", sum);
fclose(f);
fclose(g);
return 0;
}