题意

读题发现在这矩阵中从一个点到任意另一个点是要回文,但可以绕弯,所以矩阵0或1的个数只要大于等与2,任意一点就一定可以有回文串。只要理解题意代码就很好写了。

代码

#include <bits/stdc++.h>
using namespace std;
int main (){
    int T;
    cin>>T;
    while(T--){
    int n,m;
    cin>>n>>m;
    char a[n][m];
    int count0=0,count1=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>a[i][j];
            if(a[i][j]=='0')
                count0++;
            if(a[i][j]=='1')
                count1++;
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if (a[i][j]=='0') {
                    if (count0>=2) cout << "Y";
                    else cout << "N";
                }
                 if (a[i][j]=='1') {
                      if (count1>=2) cout << "Y";
                    else cout << "N";
        }
    }
        cout<<'\n';
}
}
        return 0;
}