Cod sursa(job #1788247)

Utilizator MickeyTurcu Gabriel Mickey Data 25 octombrie 2016 20:33:54
Problema Pachete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<fstream>
#include<string.h>
#include<ctype.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<unordered_map>
#include<array>
#include<deque>
#include<math.h>
#include<functional>
#include<unordered_set>
#include<set>
#include<iomanip>
#include<bitset>
using namespace std;
int n, xbase, ybase,i,x,y,ways;
multimap<int, pair<int,int>,greater<int>>mp;
multimap<int, pair<int, int>, greater<int>>::iterator it,iter,itr;
int main()
{
	//ifstream f("file.in");
	//ofstream g("file.out");
	ifstream f("pachete.in");
	ofstream g("pachete.out");
	f >> n;
	f >> xbase >> ybase;
	for (i = 1; i <= n; i++)
	{
		f >> x >> y;
		mp.insert(make_pair(abs(x - xbase) + abs(y - ybase), make_pair(x, y)));
	}
	it = mp.begin();
	while (it != mp.end())
	{
		iter = it;
		if (iter != mp.end())
			iter++;
		while (iter != mp.end())
		{
			if (abs(iter->second.first - xbase) + abs(iter->second.second - ybase) + abs(it->second.first - iter->second.first) + abs(it->second.second - iter->second.second) == it->first)
			{
				itr = iter;
				iter++;
				mp.erase(itr);
			}
			else
				iter++;
			
		}
		it++;
		ways++;
	}
	g << ways;
	return 0;
}