Stavo provando a risolvere il problema Caesar Cypher e ho preso soltanto 40/100, non riesco a capire quale possa essere il problema… questo è il codice
#include<bits/stdc++.h>
using namespace std;
int main(){
int N, D, risF=1;
cin >> N >> D;
vector<string> word(N+2);
vector<int> R(N+2, 0);
for(int i=0; i<N; i++){
cin >> word[i];
}
for(int i=0;i<N && R[i]==0;i++){
int ris=1;
for(int j=i+1;j<N && R[j]==0; j++){
char cost;
if(word[j][0]-word[i][0]<0)
cost=word[j][0]-word[i][0]+26;
else
cost=word[j][0]-word[i][0];
int t=0;
for(int z=1;z<D && t==0;z++){
char cost2;
if(word[j][z]-word[i][z]<0)
cost2=word[j][z]-word[i][z]+26;
else
cost2=word[j][z]-word[i][z];
if(cost!=cost2){
t=1;
}
}
if(t==0){
ris++;
R[j]=1;
}
}
if(risF<ris)
risF=ris;
}
cout << risF << endl;
}