Sobes.tech
Intern

Afanasy tinha estado a trabalhar há 2 semanas a escrever código capaz de resolver palavras cruzadas japonesas com suporte para nove cores, quando numa reunião de equipa, um colega lhe disse que ele próprio podia lidar com a tarefa mais rapidamente, e que já não fazia sentido manter o programa. Mas Afanasy, sendo um otimista, decidiu continuar a praticar esta tarefa e fazer o seguinte — estimar quão bem o colega lida com palavras cruzadas. Para essa avaliação, ele escolheu um análogo da métrica IoU — o cálculo será semelhante ao clássico Intersection Over Union, mas por cores. Funciona assim: cada célula correspondente no original e na solução por cor adiciona 1 ao numerador, e no denominador, 1 é adicionado para cada célula no original e na solução (para células correspondentes, apenas uma é adicionada). Depois, é feita uma média pelo número de cores na imagem original, arredondada para duas casas decimais; zero não é considerado uma cor, portanto a métrica não deve ser calculada para células dessa cor. A entrada começa com uma linha contendo o número de linhas n e colunas m (nessa ordem). Depois, seguem 2n linhas, contendo m números separados por espaços — as primeiras n linhas referem-se ao cruzamento enviado, e as seguintes n — à imagem original. Assume-se que cada linha, a partir da segunda, contém exatamente m números. Como resposta, imprima um número arredondado para duas casas decimais, como nos exemplos. Aqui estão alguns exemplos: 1. Primeiro exemplo [phone] -> 1.0 Explicação: a contribuição de células correspondentes e não correspondentes (1.0 + 1.0 + 1.0 + 1.0) / número de cores (4) 2. Segundo exemplo [phone] -> 0.08 Explicação: a contribuição de células correspondentes e não correspondentes (0.25 + 0.0 + 0.0) / número de cores (3); zeros não são considerados, nem como células nas representações nem no número de cores. 3. Terceiro exemplo [phone] onde a imagem enviada começa [phone] — onde a imagem enviada termina 0 1 2 — onde a imagem original começa [phone] -> 0.47 Explicação: a contribuição de células correspondentes e não correspondentes (0.4 + 0.5 + 0.5) / número de cores (3); zeros não são considerados nem como células nas representações nem no número de cores. 4. Quarto exemplo [phone] -> 0.0 Explicação: a contribuição de células correspondentes e não correspondentes (0.0) / número de cores (1); zeros não são considerados nem como células nas representações nem no número de cores.