Buonasera a tutti, sto provando a risolvere cabala e son riuscito ad arrivare a 30/100, dopo mi va in TLE. So che devo utilizzare il backtracking, ma non ho assolutamente idea di come “potare” la ricerca dei numeri. Ho provato a dare un’occhiata tra i vari argomenti presenti sul sito ma non ho cavato un ragno dal buco (che in questo caso è il mio cranio…).
long long occulta(int N, int M) {
long long ans = 0;
string d = "";
for(int i = 0; i < N; i++) {
if(i % 2 == 0)d += "9";
else d += "6";
}
long long dummy = stoll(d);
while(dummy > 0) {
string d = to_string(dummy);
bool check = true;
for(char c : d)
if(c != '3' && c != '6' && c != '9') {
//if(c == '0') c = '9';
check = false;
break;
}
for(int i = 1; i < d.size() && check; i++)
if(d[i] == d[i-1])
{check = false; break; }
if(check)
ans = max(dummy % M, ans);
dummy-=3;
}
return ans;
}