Aiuto problema Quasi-Palindromi

Stavo provando a fare questo problema con next permutation, verificando ogni volta se la permutazione corrente rispetta gli standard richiesti. Non capisco perché il primo testcase mi dia “lunghezza non corretta”, probabilmente è un errore banale

#include <iostream>
#include <fstream>
#include <algorithm>
#include <string>

using namespace std;

ifstream fin("input.txt");
ofstream fout("output.txt");

int main(){
    int M;//numero di righe
    int N;//numero di caratteri
    fin>>M>>N;
    string numeri[M];
    for(int i=0;i<M;i++)
        fin>>numeri[i];
    int stop=0;
    do{
        string prova="";
        string mom="";
        for(int k=0;k<N;k++){
                prova = "";
           for(int i=0;i<M;i++){
                mom = numeri[i];
                prova+=mom[k];
            }
            for(int j=0;j<M;j++){
                if(prova[j]==prova[M-j-1]||prova[j]=='0'||prova[M-1-j]=='0'){
                        stop=1;
                }else{
                    stop=0;
                    break;
                }
            }
            if(stop == 0)
                break;
        }
        if(stop==1){
        	for(int g=0;g<M;g++)
        		fout << numeri[g]<<endl;
        	return 0;
        }
    }while(next_permutation(numeri, numeri+M));
	return 0;
}

Mmm pare che in quel task manchi proprio il caso d’esempio. Il caso in cui la tua soluzione fallisce è quindi il “secondo” testcase, in realtà:

3 8
69610007
60010207
30600350

Non sortavo il vettore, Grazie :grin:

1 Mi Piace