Cod sursa(job #2673389)

Utilizator Mathew2003Barnea Matei Mathew2003 Data 16 noiembrie 2020 17:47:31
Problema Trapez Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("trapez.in");
ofstream g("trapez.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;
}