Ciao ragazzi stavo risolvendo piastrellature con una banale ricorsiva, però sull’ultimo subtask mi da execution triggered with signal 9, ma non mi sembra ci sia della memoria non allocata: vi allego il codice
#include <bits/stdc++.h>
using namespace std;
string m1x2 = "[OOOO]";
string m1x1 = "[O]";
vector<vector<string>> print;
void piastrelle(int N,vector<string> v){
if(N<=0)print.push_back(v);
else if(N==1){
v.push_back(m1x1);
print.push_back(v);
}
else{
v.push_back(m1x1);
piastrelle(N-1,v);
v.pop_back();
v.push_back(m1x2);
piastrelle(N-2,v);
}
}
int main()
{
ifstream in("input.txt");
ofstream out("output.txt");
int n;
in >> n;
vector<string> v;
v.push_back("");
piastrelle(n,v);
sort(print.rbegin(),print.rend());
for(auto it : print){
for(auto it2 : it)out << it2;
out << endl;
}
return 0;
}
P.S. avete materiale sulla ricorsione e su dp?