Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Jasiu przygotowuje ciasto na urodziny Małgosi. Jako że Małgosia jest całkiem wybrednym dzieckiem, to powstała lista życzeń odnośnie tego jak ma wyglądać ciasto:
Ciasto ma być kwadratowe i mieć wymiary 2N na 2N.
Na cieście ma się znajdować wisienka, która będzie się znajdowała w punkcie (X,Y).
Całe ciasto (poza miejscem z wisienką) ma być pokryte lukrem, w taki sposób, aby tworzył on obrazek składający się z kwadratów, z czego każdy z nich ma inny kolor, a ich boki są równe pewnej całkowitej potędze dwójki.
Żadnego miejsca ciasta nie można pokryć lukrem więcej niż jeden raz.
Lista ta jest wyjątkowo specyficzna, a w domu nie ma żadnego lukru, więc Jasiu postanowił nie marnować czasu i pójść do sklepu. Dla każdego i ∈ [0,N−1] kupił Li opakowań lukru i–tego typu. Opakowanie lukru i–tego typu ma dokładnie tyle lukru ile potrzeba na pomalowanie wypełnionego kwadratu o wymiarach 2i na 2i. Każdy z kupionych przez niego lukrów ma inny kolor, więc każdego z nich można będzie użyć do narysowania tylko jednego kwadratu.
Jasiu podejrzewa, że mógł się pomylić i albo nie będzie w stanie spełnić specyfikacji Małgosi, albo kupił za dużo lukru co go mocno zirytuje, bo Jasiu nie lubi kupować rzeczy w nadmiarze. Niestety nie jest w stanie tego szybko ustalić, dlatego poprosił Cię o pomoc w stwierdzeniu czy może on wykorzystać cały lukier do spełnienia zachcianek Małgosi i jeżeli jest to możliwe, o znalezienie sposobu pokrycia ciasta całym lukrem.
Wejście
W pierwszym wierszu wejścia znajduje się trzy liczby całkowite N, X, Y będące
odpowiednio liczbą określającą wymiary ciasta oraz współrzędnymi
opisującymi położenie wisienki na torcie.
W drugim (i ostatnim) wierszu wejścia znajduję się N liczb całkowitych z czego i–ta z nich to Li − 1, czyli
liczba kupionych opakowań lukru i–tego typu.
Wyjście
W pierwszym wierszu wyjścia powinno się znaleźć słowo
TAK
, jeżeli jest możliwe wykorzystanie całego lukru do
spełnienia zachcianek Małgosii lub NIE
w przeciwnym
wypadku.
Jeżeli zostało wypisane TAK
, to w następnych N wierszach powinien znaleźć się
opis pokrycia ciasta lukrem.
W i–tym wierszu opisu powinny
się znajdować trzy liczby całkowite Ki, Xi, Yi
oznaczające odpowiednio, że opakowaniem lukru Ki–tego typu
namalowano kwadrat o wymiarach 2Ki
na 2Ki,
którego lewy dolny róg jest w punkcie (Xi,Yi).
Liczba wystąpień Ki równych j w opisie powinna być równa Lj.
Ograniczenia
1 ≤ N ≤ 60, 1 ≤ X, Y ≤ 2N, 0 ≤ Li ≤ 100 000, ∑Li ≤ 100 000.
Przykład
Wejście | Wyjście | |
|
|
Ilustracja poniżej jest reprezentacją podanego rozwiązania powyższego testu przykładowego. Czerwona kropka oznacza wisienkę, a kolorowe kwadraty lukier. Zwróć uwagę, że w punkcie z wisienką nie ma lukru.
Wejście | Wyjście | |
|
|