Minolovac II
View as PDFNakon što je Pero uspješno prebrojao na koliko se načina mine mogu postaviti u njegovoj najdražoj igri Minesweeper postao je lokalna legenda. No, gradonačelnik je odlučio podići ljestvicu.
"Pero," rekao je gradonačelnik, "nije dovoljno znati je li raspored mina ispravan. Želimo katalogizirati sve moguće ispravne rasporede određene duljine. Kako je tih rasporeda previše, zanima nas točno određeni — onaj koji se nalazi na \(k\)-tom mjestu u našem strogo uređenom katalogu!".
U jednodimenzionalnom polju duljine \(n\), svaka ćelija može sadržavati jedan od četiri znaka:
*: Predstavlja minu.0: Polje bez susjednih mina.1: Polje s točno jednom susjednom minom.2: Polje s točno dvije susjedne mine.
Susjedi polja \(i\) su \(i-1\) i \(i+1\) (ako postoje). Raspored se smatra ispravnim ako su svi numerički uvjeti u polju istovremeno zadovoljeni.
Vaš je zadatak pronaći \(k\)-ti leksikografski najmanji ispravan raspored. Znakovi su poredani prema sljedećem prioritetu (od manjeg prema većem): \(* \lt 0 \lt 1 \lt 2\)
Ulazni podatci
- U prvom i jedinom retku nalazi se cijeli broj \(n\) (\(1 \le n \le 10^5\)), duljina polja i \(k\) (\(1 \le k \le 10^{18}\)), redni broj traženog rasporeda.
Izlazni podatci
- Ispišite jedan niz od \(n\) znakova koji predstavlja traženi \(k\)-ti raspored.
- Ako u katalogu postoji manje od \(k\) ispravnih rasporeda, ispišite prazan niz.
Podzadatci
| Podzadatak | Broj bodova | Ograničenja |
|---|---|---|
| 1 | 80 | \(n \leq 15\) |
| 2 | 20 | Nema dodatnih ograničenja. |
Ulaz primjera 1
5 1
Izlaz primjera 1
*****
Ulaz primjera 2
5 25
Izlaz primjera 2
1****
Comments