#include <stdio.h>
#include <stdlib.h>
#define NAJW_POJAZDOW 50 ## 000
struct pojazd {
int xp, xk, wysokosc;
};
int rosnaco(const void *a, const void *b)
{
return ((struct pojazd*)a)->wysokosc - ((struct pojazd*)b)->wysokosc;
}
int main()
{
struct pojazd tbl[NAJW_POJAZDOW];
int testow, pojazdow, wysokosc, i, j, x1, x2, y1, y2;
const char *wynik;
scanf("%d", &testow);
while (testow--)
{
scanf("%d %d", &pojazdow, &wysokosc);
for (i=0;i<pojazdow;++i)
{
scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
tbl[i].xp = x1<x2? x1: x2;
tbl[i].wysokosc = y1>y2? y1-y2: y2-y1;
}
for (i=0;i<pojazdow;++i)
{
scanf("%d %*d %d %*d", &x1, &x2);
tbl[i].xk = x1<x2? x1: x2;
}
qsort(tbl, pojazdow, sizeof *tbl, rosnaco);
wynik = "TAK";
for (i=0;i<pojazdow;++i)
{
for (j=pojazdow-1;j>i;--j)
{
if (tbl[i].wysokosc + tbl[j].wysokosc <= wysokosc)
break;
else if ((tbl[i].xp < tbl[j].xp) != (tbl[i].xk < tbl[j].xk))
{
wynik = "NIE";
goto odpowiedz;
}
}
}
odpowiedz:
puts(wynik);
}
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <stdio.h> #include <stdlib.h> #define NAJW_POJAZDOW 50 ## 000 struct pojazd { int xp, xk, wysokosc; }; int rosnaco(const void *a, const void *b) { return ((struct pojazd*)a)->wysokosc - ((struct pojazd*)b)->wysokosc; } int main() { struct pojazd tbl[NAJW_POJAZDOW]; int testow, pojazdow, wysokosc, i, j, x1, x2, y1, y2; const char *wynik; scanf("%d", &testow); while (testow--) { scanf("%d %d", &pojazdow, &wysokosc); for (i=0;i<pojazdow;++i) { scanf("%d %d %d %d", &x1, &y1, &x2, &y2); tbl[i].xp = x1<x2? x1: x2; tbl[i].wysokosc = y1>y2? y1-y2: y2-y1; } for (i=0;i<pojazdow;++i) { scanf("%d %*d %d %*d", &x1, &x2); tbl[i].xk = x1<x2? x1: x2; } qsort(tbl, pojazdow, sizeof *tbl, rosnaco); wynik = "TAK"; for (i=0;i<pojazdow;++i) { for (j=pojazdow-1;j>i;--j) { if (tbl[i].wysokosc + tbl[j].wysokosc <= wysokosc) break; else if ((tbl[i].xp < tbl[j].xp) != (tbl[i].xk < tbl[j].xk)) { wynik = "NIE"; goto odpowiedz; } } } odpowiedz: puts(wynik); } return 0; } |
English