diff --git a/src/cw12/zad13/havel_hakimi.cpp b/src/cw12/zad13/havel_hakimi.cpp index e69de29..39ca4e7 100644 --- a/src/cw12/zad13/havel_hakimi.cpp +++ b/src/cw12/zad13/havel_hakimi.cpp @@ -0,0 +1,9 @@ +/* +jeżeli łączna suma jest nieparzysta, to się nie da + +jeżeli między dwoma miastami może być co najwyżej jedno połączenie: +sortujemy wierzchołki grafu rosnąco (względem stopnia wierzchołka) +bierzemy ostatni wierzchołek i łączymy z poprzednikami do wyczerpania +sortujemy lokalne zaburzenia +powtarzamy procedurę +*/ \ No newline at end of file diff --git a/src/cw12/zad13/sort_airports.cpp b/src/cw12/zad13/sort_airports.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/cw12/zad16/halls_marriage_theorem.cpp b/src/cw12/zad16/halls_marriage_theorem.cpp new file mode 100644 index 0000000..fce9700 --- /dev/null +++ b/src/cw12/zad16/halls_marriage_theorem.cpp @@ -0,0 +1,17 @@ +/* +warunek konieczny i wystarczający: +Hall's Marriage Theorem +osobno rozpatrujemy najpierw dla kolumn, później dla wierszy +sortujemy rosnąco po początkach przedziałów + +rozpatrujemy od początku +jeżeli na danym polu nie ma konfliktów, ustawiamy wieżę +i przechodzimy do kolejnej +w razie konfliktu (remis początków): + - wrzucamy wszystkie remisujące początkami wieże na kolejkę + priorytetową (priorytetyzującą wcześniejszy koniec) + - zdejmujemy z kolejki wieżę z najwcześniejszym końcem + i ustawiamy ją + - dorzucamy na kolejkę wszystkie elementy z kolejnego pola + - powtarzamy procedurę +*/ \ No newline at end of file diff --git a/src/cw12/zad19/manhattan.cpp b/src/cw12/zad19/manhattan.cpp new file mode 100644 index 0000000..51fcbd7 --- /dev/null +++ b/src/cw12/zad19/manhattan.cpp @@ -0,0 +1,6 @@ +/* +stos wieżowców od lewej +mniejszych lub równych od aktualnie rozpatrywanego +gdy natrafiamy na mniejszy od tego na szczycie stosu, +zdejmujemy i zamalowujemy +*/ \ No newline at end of file