Pattern in a matrix P64919


Statement
 

pdf   zip   main.cc

thehtml

Using the definitions

typedef vector<char> Row; typedef vector<Row> Matrix;

implement a function

int pattern(const Matrix& P, const Matrix& M);

to compute how many times the pattern P appears inside the matrix M. It is guaranteed that both matrices are rectangular. Furthermore, if P has dimensions r1 × c1 and M has dimensions r2 × c2, then it holds 1 ≤ r1r2 ≤ 50 and 1 ≤ c1c2 ≤ 50.

For instance, the pattern 2 × 3 to the left appears twice in the matrix 3 × 4 to the right.



abb 
bbc


 ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍ ‍


aabb 
abbc 
bbca



You may implement auxiliar procedures if needed.

Hint

The expected solution simply checks the pattern on every possible position of the matrix.

Observation You only need to submit the required procedure; your main program will be ignored.

Information
Author
Jordi Cortadella
Language
English
Translator
Salvador Roura
Original language
Catalan
Other languages
Catalan
Official solutions
C++
User solutions
C++