#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; } |