Dado número inteiro de dois não-vazia não-negativo matrizes A e B , a resposta do número de vezes Uma ocorre como um contíguo, possivelmente sobrepostas, submatriz em B .
Exemplos / Regras
0. Pode não haver submatrizes
A :
[[3,1],
[1,4]]
B :
[[1,4],
[3,1]]
Responda:
0
1. Submatrizes devem ser contíguos
A :
[[1,4],
[3,1]]
B :
[[3,1,4,0,5],
[6,3,1,0,4],
[5,6,3,0,1]]
Resposta:
1
(marcado em negrito)
2. Submatrizes podem se sobrepor
A :
[[1,4],
[3,1]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Resposta:
2
(marcada em negrito e em itálico, respectivamente)
3. Uma (sub) matriz pode ser do tamanho 1 a 1 e acima
A :
[[3]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Resposta:
3
(marcado em negrito)
4. Matrizes podem ter qualquer forma
A :
[[3,1,3]]
[[3,1,3,1,3,1,3,1,3]]
Resposta:
4
(dois em negrito, dois em itálico)
⍷
∘
) para encurtar o trem:+/∘∊⍷
ou mesmo≢∘⍸⍷
JavaScript (ES6), 93 bytes
Toma entrada como
(A)(B)
.Experimente online!
fonte
R , 95 bytes
Experimente online!
fonte
Limpo ,
1189795 bytesExperimente online!
fonte
Python 2 , 101 bytes
Experimente online!
fonte
Carvão ,
3627 bytesExperimente online! Muito mais curto agora que o Equals trabalha para matrizes novamente. Explicação:
fonte
Python 2 , 211 bytes
Experimente online!
Bastante direto. Percorra a matriz maior e verifique se a matriz menor pode caber.
O único passo até um pouco complicado é a compreensão da lista na 6ª linha, que se baseia nas convenções do Python para misturar aritmética booleana e número inteiro.
fonte
Groovy , 109 bytes
Experimente online!
fonte
Scala , 151 bytes
Experimente online!
fonte