Étant donné deux matrices entières non négatives non vides A et B , répondez au nombre de fois où A se présente comme une sous-matrice contiguë, éventuellement se chevauchant, dans B .
Exemples / règles
0. Il ne peut y avoir de sous-matrices
Un :
[[3,1],
[1,4]]
B :
[[1,4],
[3,1]]
Répondre:
0
1. Les sous-matrices doivent être contiguës
Un :
[[1,4],
[3,1]]
B :
[[3,1,4,0,5],
[6,3,1,0,4],
[5,6,3,0,1]]
Répondre:
1
(marqué en gras)
2. Les sous-matrices peuvent se chevaucher
Un :
[[1,4],
[3,1]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Répondre:
2
(marqués respectivement en gras et en italique)
3. Une (sous) matrice peut être de taille 1 par 1 et plus
Un :
[[3]]
B :
[[3,1,4,5],
[6,3,1,4],
[5,6,3,1]]
Répondre:
3
(marqué en gras)
4. Les matrices peuvent avoir n'importe quelle forme
Un :
[[3,1,3]]
[[3,1,3,1,3,1,3,1,3]]
Réponse:
4
(deux gras, deux italiques)
⍷
∘
) pour raccourcir le train:+/∘∊⍷
ou même≢∘⍸⍷
JavaScript (ES6), 93 octets
Prend l'entrée comme
(A)(B)
.Essayez-le en ligne!
la source
R , 95 octets
Essayez-le en ligne!
la source
Nettoyer ,
1189795 octetsEssayez-le en ligne!
la source
Python 2 , 101 octets
Essayez-le en ligne!
la source
Fusain ,
3627 octetsEssayez-le en ligne! Beaucoup plus court maintenant que Equals fonctionne à nouveau pour les tableaux. Explication:
la source
Python 2 , 211 octets
Essayez-le en ligne!
Assez simple. Parcourez la plus grande matrice et vérifiez si la plus petite matrice peut tenir.
La seule étape, même légèrement délicate, est la compréhension de la liste dans la 6ème ligne, qui s'appuie sur les conventions de Python pour mélanger l'arithmétique booléenne et entière.
la source
Groovy , 109 octets
Essayez-le en ligne!
la source
Scala , 151 octets
Essayez-le en ligne!
la source