Sobes.tech
Intern

Afanasy werkte twee weken aan het schrijven van code die in staat was Japanse kruiswoordpuzzels op te lossen met ondersteuning voor negen kleuren, toen hij tijdens een teamvergadering hoorde dat een collega het zelf sneller kon doen, en dat het programma geen zin meer had. Maar Afanasy, als optimist, besloot door te gaan met oefenen en deed het volgende — schatte hoe goed zijn collega met kruiswoordpuzzels omgaat. Voor deze beoordeling koos hij een analoog van de IoU-metriek — de berekening zal vergelijkbaar zijn met de klassieke Intersection Over Union, maar per kleur. Het werkt als volgt: elke overeenkomende cel in het origineel en de oplossing per kleur telt 1 op bij de teller, en in de noemer wordt 1 toegevoegd voor elke cel in het origineel en de oplossing (voor overeenkomende cellen wordt slechts één toegevoegd). Daarna wordt er een gemiddelde genomen over het aantal kleuren in de originele afbeelding, afgerond op twee decimalen; nul wordt niet als kleur beschouwd, dus de metriek mag niet worden berekend voor cellen van deze kleur. De invoer begint met een regel die het aantal rijen n en kolommen m bevat (in die volgorde). Vervolgens volgen 2n regels, met m getallen gescheiden door spaties — de eerste n regels betreffen de ingediende kruiswoordpuzzel, en de volgende n — de originele afbeelding. Het wordt aangenomen dat elke regel, vanaf de tweede, precies m getallen bevat. Als antwoord moet u een getal afdrukken, afgerond op twee decimalen, zoals in de voorbeelden. Hier zijn enkele voorbeelden: 1. Eerste voorbeeld [phone] -> 1.0 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (1.0 + 1.0 + 1.0 + 1.0) / aantal kleuren (4) 2. Tweede voorbeeld [phone] -> 0.08 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (0.25 + 0.0 + 0.0) / aantal kleuren (3); nullen worden niet meegeteld, noch als cellen in de representaties, noch in het aantal kleuren. 3. Derde voorbeeld [phone] waar de ingediende afbeelding begint [phone] — waar de ingediende afbeelding eindigt 0 1 2 — waar de originele afbeelding begint [phone] -> 0.47 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (0.4 + 0.5 + 0.5) / aantal kleuren (3); nullen worden niet meegeteld, noch als cellen in de representaties, noch in het aantal kleuren. 4. Vierde voorbeeld [phone] -> 0.0 Uitleg: de bijdrage van overeenkomende en niet-overeenkomende cellen (0.0) / aantal kleuren (1); nullen worden niet meegeteld, noch als cellen in de representaties, noch in het aantal kleuren.