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.