经典指数          
原因
2372
浏览数
0
收藏数
 

(子矩阵)给输入一个n1*m1的矩阵a,和n2*m2的矩阵b,问a中是否存在子矩阵和b相等。若存在,输出所有子矩阵左上角的坐标:若不存在输出“There isno answer”。 #include using namespace std; const int SIZE = 50; int n1, m1, n2, m2, a[SIZE][SIZE], b[SIZE][SIZE]; int main( ) {     int i, j, k1, k2;     bool good, haveAns;     cin >> n1 >> m1;     for (i = 1; i <= n1; i++)         for (j = 1; j <= m1; j++)             cin >> a[i][j];     cin >> n2 >> m2;     for (i = 1; i <= n2; i++)         for (j = 1; j <= m2; j++)             1;     haveAns = false;     for (i = 1; i <= n1 - n2 + 1; i++)         for (j = 1; j <= 2; j++) {             3;             for (k1 = 1; k1 <= n2; k1++)                 for (k2 = 1; k2 <= 4; k2++) {                     if (a[i + k1 - 1][j + k2 - 1] != b[k1][k2])                         good = false;                 }             if (good) {                 cout << i << ' ' << j << endl;                 5;             }         }     if (!haveAns)         cout << "There is no answer" << endl;     return 0; }

     举报   纠错  
 
切换
暂时还没有答案,欢迎分享你的解答 . . .
撰写答案
扫描后移动端查看本题