Pagini recente » Cod sursa (job #2541151) | Cod sursa (job #186286) | Cod sursa (job #70681) | Cod sursa (job #174395) | Cod sursa (job #1939090)
#include <stdio.h>
#include <algorithm>
const int MAX = 50000;
using namespace std;
struct ind { int a; int b;};
bool cmp ( ind nr1, ind nr2 ) {
if (nr1.a > nr2.a)
return false;
return true;
}
ind drum1[MAX + 1], drum2[MAX + 1], drum3[MAX + 1], drum4[MAX + 1];
int v[MAX + 1];
int main()
{
FILE *fin, *fout;
int n1, n2, n3, n4, n, xx, yy, x, y, i;
fin = fopen ("pachete.in", "r");
fout = fopen ("pachete.out", "w");
fscanf (fin, "%d", &n);
fscanf (fin, "%d%d", &xx, &yy);
n1 = n2 = n3 = n4 = 0;
for (i = 1; i <= n; i++) {
fscanf (fin, "%d%d", &x, &y);
if (x >= xx && y > yy) {
drum1[++n1].a = x - xx;
drum1[++n1].b = y - yy;
}
else if (x < xx && y >= yy) {
drum2[++n2].a = xx - x;
drum2[++n2].b = y - yy;
}
else if (x <= xx && y < yy) {
drum3[++n3].a = xx - x;
drum3[++n3].b = yy - y;
}
else if (x > xx && y <= yy) {
drum4[++n4].a = x - xx;
drum4[++n4].b = yy - y;
}
}
sort (drum1 + 1, drum1 + n1 + 1, cmp);
sort (drum2 + 1, drum2 + n2 + 1, cmp);
sort (drum3 + 1, drum3 + n3 + 1, cmp);
sort (drum4 + 1, drum4 + n4 + 1, cmp);
s = 0;
nr = 0;
for (i = 1; i <= n1; i++) {
st = 1;
dr = nr;
while(st <= dr) {
m = (st + dr) / 2;
if ( v[m] > drum1[i].a)
}
}
s += nr;
nr = 0;
for (i = 1; i <= n2; i++) {
}
s += nr;
nr = 0;
for (i = 1; i <= n3; i++) {
}
s += nr;
nr = 0;
for (i = 1; i <= n4; i++) {
}
s += nr;
fprintf (fout, "%d\n", s);
fclose (fin);
fclose (fout);
return 0;
}