Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:csp:lab1 [2016/03/02 00:34] msl [Magiczne ciągi] |
pl:dydaktyka:csp:lab1 [2019/06/27 15:50] (aktualna) |
]); | ]); |
</code> | </code> |
- Proszę zastosować globalne ograniczenia do problemu n-hetmanów i magicznych ciągów. | - Proszę zastosować globalne ograniczenia do problemu n-hetmanów |
| |
| |
http://www.minizinc.org/downloads/doc-latest/mzn-globals.html | http://www.minizinc.org/downloads/doc-latest/mzn-globals.html |
</WRAP> | </WRAP> |
| |
| |
| ==== Zadanie Dodatkowe: Magiczne ciągi ==== |
| |
| * Treść problemu: magicznym ciągiem nazywamy taki ciąg liczb ''x0, x1, x2,.., xN'' w którym wartość ''xi'' dla dowolnego ''i'' jest równa liczbie wystąpień ''i'' w tym ciągu. Przykładowy magiczny ciąg o długości 5 to ''2, 1, 2, 0, 0'' --- na ''0''-wym miejscu znajduje się liczba wszystkich ''0'' w ciągu, na miejscu o indeksie ''1'' liczba ''1'' w ciągu, etc. |
| * Ćwiczenia: |
| - Zamodelować znajdywanie magicznych ciągów o zadanej długości w MiniZinc. |
| - Zastosować globalne ograniczenia. <code> |
| |
| %%%%%%%%%%%%% |
| % DZIEDZINA % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % miejsce na dziedzinę % |
| % - parametr określający długość ciągu % |
| % - tablica zmiennych decyzyjnych % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| %%%%%%%%%%%%%%%% |
| % Ograniczenia % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % Podpowiedzi: % |
| % - sum(wyrażenie tablicowe) sumuje elementy % |
| % - bool2int(5==5) da w wyniku 1 % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| solve satisfy; |
| |
| %%%%%%%%%%%%%%%%%%%%%%%% |
| % PRZYKŁADOWE WYJŚCIE % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % - magic - magiczny ciąg % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| output [ "magiczny ciag = ", show(magic),";\n"];</code> |
| |