Pagini recente » Istoria paginii runda/runda_ezoterica_2 | preoji/clasament/10 | Istoria paginii runda/lets_go_oni/clasament | Istoria paginii runda/eusebiu_oji_2015_cls9/clasament | Cod sursa (job #2673387)
#include <bits/stdc++.h>
using namespace std;
ifstream f("trapez.in");
ofstream g("trapex.out");
struct punct {
int x;
int y;
};
struct verificam {
int ok = 0;
int dif;
};
int main()
{
int n, maxx = INT_MIN, maxy = INT_MIN;
punct v[999];
f >> n;
for (int i = 0; i < n; i++)
{
f >> v[i].x >> v[i].y;
if (v[i].x > maxx)
maxx = v[i].x;
if (v[i].y > maxy)
maxy = v[i].y;
}
verificam a[1001], b[1001];
for (int i = 0; i < n - 2; i++)
for (int j = i + 1; j < n; j++)
{
if (v[i].x == v[j].x and v[i].y != v[j].y)
{
a[i].ok++;
a[i].dif = abs(v[i].y - v[j].y);
}
if (v[i].y == v[j].y and v[i].x != v[j].x)
{
b[i].ok++;
b[i].dif = abs(v[i].x - v[j].x);
}
}
int raspuns = 0;
for (int i = 0; i < max(maxy, maxx); i++)
for (int j = 0; j < max(maxy, maxx); j++)
{
if (a[i].ok > 0 && b[j].ok > 0)
{
if (a[i].dif != b[j].dif)
raspuns++;
}
}
g << raspuns / 2;
}