Sobes.tech
Intern

Afanasy již dva týdny pracoval na psaní kódu, který dokáže řešit japonské křížovky s podporou devíti barev, když mu na další schůzce kolega oznámil, že je schopen sám zvládnout úlohu rychleji, a v programu už nemá smysl. Ale Afanasy, jako optimista, se rozhodl věnovat této úloze ještě více času a udělat následující — spočítat, jak dobře si kolega poradí s křížovkami. Pro toto hodnocení si zvolil jakýsi ekvivalent metriky IoU — výpočet bude probíhat podobně jako klasické Intersection Over Union, ale podle barev. Pracuje to podle plánu takto: každé shodné políčko v originále a řešení podle barvy přidá 1 do čitatele, a do jmenovatele se přidá 1 za každé toto políčko v originále i řešení (za shodná políčka se přidá pouze jedna jednotka). Poté bude prováděno průměrování podle počtu barev v originálním obrázku, zaokrouhlené na dvě desetinná místa; nula není barvou, proto při výpočtech nestojí za to počítat metriku pro políčka této barvy. Na vstupu bude na první řádce zadáno, kolik řádků n a sloupců m (přesně v tomto pořadí) obsahuje původní obrázek. Poté následuje 2n řádků, obsahujících m čísel oddělených mezerou — první n řádků se týká odeslaného řešení křížovky, a následujících n řádků je původní obrázek. Předpokládá se, že na každém řádku, počínaje druhým, je přesně m čísel. Jako odpověď vypište jedno číslo zaokrouhlené na dvě desetinná místa, jak je uvedeno v příkladech. Několik příkladů: 1. První příklad [phone] -> 1.0 Vysvětlení: podíl shodných a neshodných buněk (1.0 + 1.0 + 1.0 + 1.0) / počet barev (4) 2. Druhý příklad [phone] -> 0.08 Vysvětlení: podíl shodných a neshodných buněk (0.25 + 0.0 + 0.0) / počet barev (3); nuly nepočítáme, ani jako buňky v reprezentacích, ani v počtu barev. 3. Třetí příklad [phone] zde začíná odeslaný obrázek [phone] -- zde končí odeslaný obrázek 0 1 2 -- zde začíná původní obrázek [phone] -> 0.47 Vysvětlení: podíl shodných a neshodných buněk (0.4 + 0.5 + 0.5) / počet barev (3); nuly nepočítáme ani jako buňky v reprezentacích, ani v počtu barev. 4. Čtvrtý příklad [phone] -> 0.0 Vysvětlení: podíl shodných a neshodných buněk (0.0) / počet barev (1); nuly nepočítáme ani jako buňky v reprezentacích, ani v počtu barev.