char check(void){ while (mount.size()) { if (mount[mount.size()-1] == lake[lake.size()-1]+1) { lake.push_back(mount[mount.size()-1]); mount.pop_back(); } else if (branch.size()){ if (branch[branch.size()-1] == lake[lake.size()-1]+1) { lake.push_back(branch[branch.size()-1]); branch.pop_back(); } else if (branch[branch.size()-1] < mount[mount.size()-1]){ return 'N'; } else if (branch[branch.size()-1] > mount[mount.size()-1]){ branch.push_back(mount[mount.size()-1]); mount.pop_back(); } } else { branch.push_back(mount[mount.size()-1]); mount.pop_back(); } } return 'Y'; }
void recurse(int num, string a, string b){ if (!u) { return; } if (a == b && a != "") { //cout << a << endl; u=false; cout << order.size() << endl; for (int i = 0; i < order.size(); i++) { cout << order[i] << endl; } return; } if (num >= m) { return; } for (int i = 0; i < a1.size(); i++) { string p = a + a1[i]; string q = b + b2[i]; int least = min(p.length(), q.length()); if (p.substr(0, least) == q.substr(0, least)) { order.push_back(i+1); recurse(num+1, p, q); order.pop_back(); } } }
void best(int index, string a, string b, vc s, vector<bool> limits){ cout << "index: " << index << " a: " << a << " b: " << b<< " "; for (int w = 0; w < s.size(); w++) { cout << s[w]; } cout << endl; if (s.size() < lim) { if (a == b) { cout << "*************************************" <<endl; bool p = true; for (int j = 0; j < num; j++) { if (limits[j] == false) { p = false; break; } } if (p == true) { cout << s.size() << endl; for (int q = 0; q < s.size(); q++) { cout << s[q] << endl; } return; } } int jkl = 0; for (int i = 0; i < min(a.length(), b.length()); i++) { if (a[i] != b[i]) { jkl++; } } if (jkl == 0) { for (int i = 0; i < num; i++) { if (b == "abaaaaaa") { cout << "yyyyyyyyyyyyyy" <<endl; } //cout << i <<endl; s.push_back(i); limits[i]= true; a+=str[0][i]; b+=str[1][i]; if (a == "abaaaaaab" || b == "abaaaaaab") cout << "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"; best(i, a, b, s, limits); limits[i] = false; s.pop_back(); } }} }
int main(void) { int num; cin >> num; for (int i = 0; i < num; i++) { int temp; cin >> temp; if (temp == 0) { list.pop_back(); } else list.push_back(temp); } int sum = 0; for (int i = 0; i < list.size(); i++) { sum += list[i]; } cout << sum; }
int main(void) { moves[1] = "ABDE"; moves[2] = "ABC"; moves[3] = "BCEF"; moves[4] = "ADG"; moves[5] = "BDEFH"; moves[6] = "CFI"; moves[7] = "DEGH"; moves[8] = "GHI"; moves[9] = "EFHI"; clocks['A'] = 0; clocks['B'] = 1; clocks['C'] = 2; clocks['D'] = 3; clocks['E'] = 4; clocks['F'] = 5; clocks['G'] = 6; clocks['H'] = 7; clocks['I'] = 8; for (int i = 1; i <= 9; i++) { int temp; cin >> temp; //val[i] = temp; list.push_back(temp); //6,9,3,3,3,9,12,12,12, 12, 12, 12 //9,3,9,9,9,9,9,9,9,9,9,9 } //cout << list[list.size()-3] << ',' << list[list.size()-2] << ','<< list[list.size()-1] << endl; //return 0; //cout << endl; for (int i = 1; i <= 9; i++) { if (u) { break; } list.push_back(i); addvals(list, ""); list.pop_back(); } for (int i = 0; i < bfs.size(); i++) { if (u) { break; } //if (i < 10000) { for (int k = 0; k < bfs[i].size(); k++) { cout << bfs[i][k] << ","; } cout << endl; //} if(bfs[i].size())bfs[i].pop_back(); for (int j = 1; j <= 9 ; j++) { if (u) { break; } bfs[i].push_back(j); addvals(bfs[i], ord[i]); bfs[i].pop_back(); } } }