У меня есть 2 двоичные (rxc) матрицы - Матрица A и Матрица B одинакового размера.Матрица B получается смещением единиц в Матрице A на величину смещения влево / вправо / вверху / внизу.
int a[][] ={
{ 0,0,1,0,0 },
{ 0,1,0,1,0 },
{ 1,0,0,0,1 }
},
b[][] =
{
{ 0,0,0,1,0 },
{ 0,0,1,0,1 },
{ 0,1,0,0,0 }
}
В этом случае матрица B смещается на одну строку вправо.Моя цель - найти смещение (например, r + 1) между двумя матрицами.
Мое решение - добавить столбец со всеми 0 в матрицу A и проверить, равен ли он матрице B. Продолжить добавление c-1 столбцы.Повторите тот же процесс для строк.Остановитесь, когда две матрицы равны.
Это кажется очень неэффективным способом сделать это.Есть ли лучший способ сделать это?