Cod sursa(job #2215170)

Utilizator mrspvSpinu Vasilica-Stefan mrspv Data 21 iunie 2018 11:08:56
Problema Gropi Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("gropi.in");
ofstream g("gropi.out");
int drum(int x1, int y1, int x2, int y2, int vec[4][1000])
{
	int contor = 1;
	while (y1 < y2)
	{
		if (vec[x1][y1 + 1] == 0)
		{
			contor++;
			y1++;
		}
		else
		{
			contor++;
			if (x1 == 1)
				x1 = 2;
			else
				x1 = 1;
		}
	}

	if (x1 != x2)
		contor++;

	return contor;
}
int main() {
	int n, m, a, b,c, vec[4][1000], x1, y1 , x2, y2;
	f >> n >> m;
	for (int i = 1; i <= 2; i++)
		for (int j = 1; j <= n; j++)
			vec[i][j] = 0;

	for (int i = 1; i <= m; i++)
	{
		f >> a >> b;
		vec[a][b] = 1;
	}
	f >> c;

	for (int i = 1; i <= c; i++)
	{
		f >> x1 >> y1 >> x2 >> y2;
		if (y1 <= y2)
			g << drum(x1, y1, x2, y2, vec) << endl;
		else
			g << drum(x2, y2, x1, y1, vec) << endl;
	}
	f.close();
	g.close();
	cin.get();
	return 0;
}