Temat: Mozaika [B] rozwiązanie na 10/10

Czy mógłby ktoś opisać rozwiązanie dające 10 punktów?
Ja mam tylko rozwiązanie dające 9/10, O(n^2 log(n)). W skrócie: ustalam na n sposobów wysokość prostokąta i dalej układam kwadraty jednoznacznie, patrząc czy nie nakładam na inne, i na końcu czy nie mam dziur (sumując i porównując pola).
Co ciekawe, zależnie od kolejności wysokości które sprawdzam, oblewam albo test 9, albo 10a :P Jednak gdyby wszystkie testy były na NIE to by ta kolejność nie miała znaczenia, dlatego podejrzewam, że wzorcówka jest dużo mądrzejsza.
Ja mam to samo rozwiązanie, tylko kończę ustawianie dla danej wysokości od razu jak widzę, że już nie ustawię i mam najgorszy czas 0.05s ;P
skąd wiesz, że już nie ustawisz? bo ja tylko zauważam na bieżąco, gdy kwadraty nachodzą na siebie. puste miejsca muszę na końcu policzyć.
No dobra, może nie od razu jak wiem, w sumie robię podobnie tylko najpierw dla każdego punktu wyznaczam sobie jego maksymalny bok jaki może mieć, żeby się z niczym nie przecinał. Oczywiście też jak widzę jakieś miejsce, gdzie poniżej musi być punkt, a go nie ma to kończę. Dodatkowo, nie wiem czy to coś zmienia, ale nie patrzę na pola, tylko trzymam sobie na secie dolny kontur tego co ułożyłem i na końcu na secie musi być tylko jeden przedział, żeby działało. Plus biorę na kandydatów minimum z liczby różnych iksów i igreków na wejściu. Jakieś takie opty...
jeśli dobrze rozumiem, to u Ciebie przedziały sąsiadujące są sklejone w secie, i w ten sposób masz w secie tyle elementów, ile dziur, a ja mam tyle, ile kwadratów, i pewnie to przesądziło.
dzięki za wyjaśnienie
No tak, są sklejone, rzeczywiście