#include #include #include #include int main(int argc, char* argv[]){ std::cout<<"paste input followed by a ; IGNORE THE NUMBER LINE!!\n"; std::vector> stack = {{}}; std::vector> moves; int step = 0; std::string line = ""; while(getline(std::cin, line)){ if(line==";") break; if(line==""&&step==0){ step=1; } if(step==0){ //parsing initial boxes for(int i = 0;i<=line.size();i+=4){ if(line[i+1]!=' '){ while(i/4>=stack.size()){ stack.push_back({}); } stack[i/4].push_back(line[i+1]); } } } else { //command mode if(line[0]!=' '){ //ignore the number line std::string s1 = ""; int index = 0; //moves.push_back({0,0,0}); std::vector temp = {0,0,0}; std::vector bu = temp; for(int i = 0; i<=line.size();i++){ if(line[i]==' '){ for(int z = i+1; z!=line.size();z++){ if(line[z]==' ') break; s1+=line[z]; } for(int z = 0; z!=temp.size();z++){ if(temp[z]==0){ temp[z]=stoi(s1); break; } } i+=s1.size()+1; s1 = ""; } } if(temp!=bu ) moves.push_back(temp); } //std::cout<> p2_stack = stack; for(int i = 0;i!=moves.size();i++){ //for(int z = 0; z!=moves[i].size();z++){ //std::cout<=0;z--){ p2_stack[moves[i][2]-1].insert(p2_stack[moves[i][2]-1].begin(),p2_stack[moves[i][1]-1][z]); p2_stack[moves[i][1]-1].erase(p2_stack[moves[i][1]-1].begin()+z); } //} } //std::cout<