Věhlasný pan profesor Yamazaki vymyslel nový prostředek proti komárům. Na
tiskové konferenci jej zpovídá novinářka:
"A pane profesore, jak se
vlastně ten Váš prostředek aplikuje ?"
"Tak to vezmete do jedné ruky
komára a druhou rukou mu do sosáčku nacpete tuto pilulku."
"Hmmm, to
je opravdu zajímavé. A pane profesore, víte, když už máme toho komára v ruce,
není jednodušší ho rovnou zamáčknout ?"
Profesor Yamazaki se hluboce
zamyslí a praví:
"Nebo tak."
Zadání úlohy
Odsimulujte útok komárů na profesora Yamazakiho. Předpokládejte, že se na profesora vejde v jednom čase 10 komárů na levou ruku, 10 na pravou ruku, 10 na levou nohu a 10 na pravou nohu (vzniknou tedy 4 fronty). Komár si po příletu k profesorovi vybere tu část těla, kde čeká ve frontě nejméně komárů. Během čekání již nemůže svoji volbu změnit (protože se příliš soustředí na oběd). Jakmile se komár napije (což trvá 1 časovou jednotku) odlétá naklást vajíčka. Z vajíček se za 20 časových jednotek vylíhne 10 nových žíznivých komárů. Simulace nechť začne útokem 1 komára. Účinky profesorova prostředku na zdraví komárů zanedbejme.
Jak na to
Vycházet můžete např. z funkčního demonstračního příkladu pro obsluhu 1 požadavku v 1 frontě. Toto demo si můžete zprovoznit podle tohoto návodu. Po překopírování (nebo rozbalení archívu) přejmenujte soubor hlavni0.cpp na hlavni.cpp (hlavni.cpp obsahuje simulaci producenta+konzumenta, hlavni0.cpp obsahuje výše zmíněné demo pro obsluhu 1 požadavku v 1 frontě). Tím se vyhnete konfiguraci projektu v rámci prostředí Visual C++.
Během simulace generujte log v takové formě, aby byla zřejmá funkčnost programu.
Deadline: 1.6.2002