Problem kwiatków i pań

Duke
Użytkownik
Użytkownik
Posty: 267
Rejestracja: 30 kwie 2007, o 21:39
Płeć: Mężczyzna
Lokalizacja: z internetu
Podziękował: 47 razy
Pomógł: 2 razy

Problem kwiatków i pań

Post autor: Duke »

Witam mam dość ciężkie zadania do rozwiązania, wymagają sporego wysilenia. Mam nadzieję że ktoś z Was jest w stanie je zrobić.
Przy stole przygotowano nakrycia dla k pań i n-k panów(0<=k<=n>=1). Nakrycia dla pań bbyły wyróżnione kwiatkiem, który stał przy nakryciu. Zaproszeni goście (k pań i n-k panów) losowo usiedli przys stole nie zauważywszy finezji organizatorów. Dysponujące funkcją KWIATEK(i) przyjmującą wartość true wttw gdy przy i-tym nakryciu znajduje się kwiatek, funckją PANI(i) stwierdziającą, czy przy i-tym miejscu usiadła pani oraz funkcją Z(i,j) zamieniającą osoby siedzące przy i-tym i j-tym nakrycu dorprowadź do własćiwego usadowienia uczestników bankietu.

Zadanie drugie
o paniach
Przy stole usiadły panie i panowie przy czym panów jest nie mniej niż pań. Dysponując operacją Z(i,j) oraz funckją PANI(i) sprawdzającą, czy przy i-tym miejscu siedzi pani, doprowadź do sytuacji, w której żadnie dwie panie nie siedzą koło siebie. (Uwaga minimalizacja liczby zamian jest nietrywialna)


WAŻNE: To nie są zadanie na zaliczenie, żeby nikt sobie nie pomyślał, że wykorzystuje forum, żeby nic nie robić, przygotowywuję się do kolosa serią ponad 50-ciu zadań z infy, nie mogę jednym poświęcić tyle czasu(i tak siedzę cały dzień, niepierwszy) bo innych nie zrobię, dlatego proszę o pomoc w znalezieniu optymalnego rozwiązania do tych zadań. Najlepiej żeby rozwiązanie było napisane w pascalu, lub w krokach. C++ nie zrozumiem, ewentualnie połapię się w Javie, bo dawno temu się jej uczyłem, ale proszę nie używać funkcji wbudowanych, których nie ma w pascalu. Dzięks!
ODPOWIEDZ