Sobes.tech
Intern

Afanasy timp de 2 săptămâni a lucrat la scrierea unui cod capabil să rezolve cuvinte încrucișate japoneze cu suport pentru nouă culori, când la o întâlnire de echipă, un coleg i-a spus că poate să se ocupe mai repede de sarcină singur, și programul nu mai avea sens. Dar Afanasy, fiind optimist, a decis să continue să exerseze această sarcină și să facă următoarele — să estimeze cât de bine se descurcă colegul său cu cuvintele încrucișate. Pentru această evaluare, a ales un analog al metricii IoU — calculul va fi similar cu cel clasic Intersection Over Union, dar după culori. Funcționează astfel: fiecare celulă care se potrivește în original și în soluție după culoare adaugă 1 la numărător, iar în numitor, 1 se adaugă pentru fiecare celulă din original și din soluție (pentru celulele care se potrivesc, se adaugă doar una). După aceea, se face o medie pe numărul de culori din imaginea originală, rotunjită la două zecimale; zero nu este considerat o culoare, așa că metrica nu trebuie calculată pentru celulele acestei culori. Intrarea începe cu o linie care conține numărul de rânduri n și coloane m (în această ordine). Apoi urmează 2n linii, conținând m numere separate prin spații — primele n linii se referă la cuvântul încrucișat trimis, iar următoarele n — la imaginea originală. Se presupune că fiecare linie, începând cu a doua, conține exact m numere. Ca răspuns, afișați un număr rotunjit la două zecimale, ca în exemple. Iată câteva exemple: 1. Primul exemplu [phone] -> 1.0 Explicație: contribuția celulelor care se potrivesc și cele care nu se potrivesc (1.0 + 1.0 + 1.0 + 1.0) / numărul de culori (4) 2. Al doilea exemplu [phone] -> 0.08 Explicație: contribuția celulelor care se potrivesc și cele care nu se potrivesc (0.25 + 0.0 + 0.0) / numărul de culori (3); zerourile nu sunt luate în considerare, nici ca celule în reprezentări, nici în numărul de culori. 3. Al treilea exemplu [phone] unde imaginea trimisă începe [phone] — unde se termină imaginea trimisă 0 1 2 — unde începe imaginea originală [phone] -> 0.47 Explicație: contribuția celulelor care se potrivesc și cele care nu se potrivesc (0.4 + 0.5 + 0.5) / numărul de culori (3); zerourile nu sunt luate în considerare, nici ca celule în reprezentări, nici în numărul de culori. 4. Al patrulea exemplu [phone] -> 0.0 Explicație: contribuția celulelor care se potrivesc și cele care nu se potrivesc (0.0) / numărul de culori (1); zerourile nu sunt luate în considerare, nici ca celule în reprezentări, nici în numărul de culori.