Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2025
Problem description
Bajtek ma planszę rozmiaru N × N podzieloną na N 2 pól. K prostokątnych obszarów na planszy jest pomalowanych na czarno, reszta planszy jest pomalowana na biało. Prostokątne obszary mają boki równoległe do boków planszy i przebiegające wzdłuż linii podziału planszy – każde pole planszy jest w obszarze albo w całości, albo wcale. Obszary nie przecinają się ze sobą. Wiersze i kolumny planszy są ponumerowane liczbami od 1 do N – wiersze od góry do dołu, a kolumny od lewej do prawej.
Planszę nazywamy szachownicą, jeżeli można ją podzielić na identyczne kwadraty o boku nie mniejszym od 1 i ściśle mniejszym od N, w taki sposób, że wszystkie pola wewnątrz każdego z tych kwadratów są tego samego koloru, a dwa sąsiednie kwadraty mają różne kolory. Dwa kwadraty nazywamy sąsiednimi, jeżeli mają wspólny bok. Poniżej pokazane są wszystkie możliwe szachownice dla N = 6:
Bajtek chce zamienić swoją planszę w szachownicę. W tym celu może on przemalowywać pola – jeśli pole było białe, po przemalowaniu staje się czarne i na odwrót. Pomóż Bajtkowi wyznaczyć najmniejszą liczbę przemalowań, jakich musi on dokonać, aby plansza stała się szachownicą.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby całkowite N i K – rozmiar planszy oraz liczba czarnych prostokątnych obszarów.
W każdym z kolejnych K wierszy znajdują się cztery liczby całkowite x1, y1, x2, y2 oddzielone pojedynczymi odstępami – odpowiednio numer wiersza i kolumny lewego górnego pola oraz numer wiersza i kolumny prawego dolnego pola prostokątnego obszaru.
Możesz założyć, że żadne dwa obszary się nie przecinają.
Wyjście
Twój program powinien wypisać jedną liczbę całkowitą – najmniejszą liczbę przemalowań potrzebnych, aby plansza stała się szachownicą.
Ograniczenia
2 ≤ N ≤ 105.
0 ≤ K ≤ min (N 2,105).
1 ≤ x1 ≤ x2 ≤ N,
1 ≤ y1 ≤ y2 ≤ N.
Podzadania
| Podzadanie | Warunki | Punkty |
|---|---|---|
| 1 | N ≤ 100, K = 0 | 8 |
| 2 | N jest liczbą pierwszą, pole każdego obszaru wynosi 1 | 8 |
| 3 | N ≤ 100, K ≤ 1000, pole każdego obszaru wynosi 1 | 15 |
| 4 | N ≤ 1000, pole każdego obszaru wynosi 1 | 16 |
| 5 | pole każdego obszaru wynosi 1 | 23 |
| 6 | brak dodatkowych ograniczeń | 30 |
Przykład
| Wejście | Wyjście | Wyjaśnienie |
|
|
Optymalne przemalowania dla wszystkich testów przykładowych znajdują się poniżej. |
| Wejście | Wyjście | |
|
|
| Wejście | Wyjście | |
|
|