В общем есть задача указать, какой способ кодирования был применен к условной матрице.
Способы кодирования, каждый элемент матрицы заменяется на:
1. Сумму соседних по стороне элементов матрицы включая его самого.
Пример
1 2
3 4
кодируется в
6 7
8 9
2. Сумму соседних элементов и по стороне, и по углу, не включая его самого.
Пример
1 2
3 4
кодируется в
9 8
7 6
3. Сумму соседних элементов только по стороне, не включая его самого.
Пример
1 2
3 4
кодируется в
5 5
5 5
Насколько я понял, надо написать функцию, которая возвращает все возможные вектора слагаемых из k элементов, которые являются суммой числа n.
Вместо тысячи слов ее сигнатура:
std::vector<std::vector<int>> split_int(int n, int k);
И для каждого элемента матрицы нужно каким-то образом подобрать вектор слагаемых, что-бы все совпало.
Вопрос в том, правильно ли я думаю, реализуемо ли это?