Cod sursa(job #825301)

Utilizator dany123Florea Daniel dany123 Data 28 noiembrie 2012 13:04:09
Problema Zoo Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<fstream>
#include<cstdlib>
#include<iostream>
using namespace std;
int n,m;
struct pct { int x,y; };
pct *anim;
struct drept {int x1,y1,x2,y2; };
drept * zoo;
void citire ()
{
	ifstream fin ("zoo.in");
	fin>>n;
	anim = new pct[n];
	for (int i=0;i<n;++i)
		fin>>anim[i].x>>anim[i].y;
	fin>>m;
	zoo = new drept[m];
	//zoo = (drept*)malloc (m*sizeof(drept));
	for (int j=0;j<m;j++)
		fin>>zoo[j].x1>>zoo[j].y1>>zoo[j].x2>>zoo[j].y2;
		//colt st sus, dr jos
	fin.close();
}
int compar1 (const void *a, const void *b) 
{
	return (*(int*)(a+sizeof(int)) - *(int*)(b+sizeof(int)));
}
int compar2 (const void *a, const void *b) 
{
	return (*(int*)a - *(int*)b);
}
void rezolvare ()
{
	/*qsort (anim, n, sizeof(pct), compar1);
	qsort (anim, n, sizeof(pct), compar2);
	for (int i=0;i<n;i++)
		cout<<anim[i].x<<' '<<anim[i].y<<'\n';
	*/
	ofstream fout("zoo.out");
	int sum=0;
	for (int c=0;c<m;c++)
	{
		sum=0;
		for (int i=0;i<n;++i)
			if (anim[i].x >= zoo[c].x1 && anim[i].x <= zoo[c].x2
			&& anim[i].y >= zoo[c].y1 && anim[i].y <=zoo[c].y2)
				++sum;
		fout<<sum<<' ';
	}
	fout.close();
}
int main () {
	citire();
	rezolvare();
}