Všude samá čísla

Všude samá čísla

Dostal jsem na stůl zajímavý matematický problém. A protože na tohle jsem zřejmě ve škole chyběl, zkusím využít obrovský mozkový potenciál zdejších čtenářů, kteří sem denně chodí v zástupech řešit test logického myšlení. A třeba mi pomohou vyřešit tenhle oříšek.

Tak pojďme na to!

Na začátku našeho příběhu mějme skupinu lidí – říkejme ji Skupina A. Skupina A má 19 členů, což není pevné číslo, protože každý den se může rozrůst, případně zmenšit. Každý člen skupiny má na své jméno napsaný určitý počet knih. Takže výchozí tabulka může vypadat například takto:

Barbora 35
Denisa 24
Eva 9
Iva 34
Jarmila 38
Jaroslava 50
Jarda 38
Karla 45
Klára 23
Kristýna 27
Lenka 13
Magdalena 32
Marcela 27
Marie 26
Matouš 3
Martina 44
Rudolf 21
Stela 8
Věra 8

Ti donesou své knihy každý v jedné krabici od banánů nadepsané svým jménem.

A odejdou. Pro další příběh už nejsou podstatní.

Když sečteme celkový počet knih v krabicích, dostaneme určitou důležitou cifru – v tomhle případě 505.

Následně přijde 9 zcela jiných lidí – říkejme jim Skupina B, mezi které potřebujeme rozdělit těch 505 knih tak, aby každý dostal zhruba devítinu, tedy 56 knih (což se pravděpodobně přesně nepodaří), ale tak, aby se tohoto čísla dosáhlo sečtením dvou (či více) krabic.

Důležitá informace: obsah krabic je nedělitelný, tudíž vždy musíme rozdat buď celou, nebo více krabic.

Čili například vezmeme krabici označenou Marie a Marcela a máme dohromady 53 knih, což je asi nejblíže 56 a máme jednoho ze skupiny B z krku a dvě krabice pryč.

A já na tohle potřebuju vymyslet nějaký algoritmus, který by to rozpočítal tak, aby to bylo co nejspravedlivější. Samozřejmě někdo z těch devíti dostane 50, jiný 59 a podobně. ale to není až tak podstatné.

A aby to nebylo tak snadné, počet členů skupiny A se může měnit, jak už jsem napsal. Ale totéž se může dít s počtem členů skupiny B.

Má tohle řešení?