#include #include auto input(int num_count, int changes_count, std::vector & nums, std::vector & tokens, std::vector> & changes ){ for(int i = 0; i < num_count; i++){ int a; char b; std::cin >> a; nums.emplace_back(a); if(i != num_count - 1) { std::cin >> b; // std::cin >> space2; tokens.emplace_back(b); } } for(int i = 0; i < changes_count; i++ ){ int a,b; std::cin >> a; std::cin >> b; changes.emplace_back(a,b); } return; } auto eval(std::vector nums,std::vector tokens){ //nejsou tu reference protoze to chci kopirovat //products first, ulozim je do productu ve stejnem poradi for(size_t i = 0; i < tokens.size(); i++) { if(tokens[i] == '*'){ int product = nums[i]*nums[i+1]; nums[i] = product; nums.erase(nums.begin()+i+1); tokens.erase(tokens.begin()+i); i--; } } int sum = 0; for(size_t i = 0; i < tokens.size(); i++){ if(tokens[i] == '+'){ sum += nums[i] + nums[i+1]; nums.erase(nums.begin()+i); nums.erase(nums.begin()+i+1); i--; i--; } else if(tokens[i] == '-'){ sum += nums[i] - nums[i+1]; nums.erase(nums.begin()+i); nums.erase(nums.begin()+i+1); i--; i--; } } return sum; } auto is_what(int sum){ if(sum % 2 == 0){ return "even"; } else return "odd"; } auto change(std::vector & nums, std::vector & tokens, std::pair coords){ nums[coords.first-1] = coords.second; return; } int main(){ int num_count; //pocet cisel in the expression int changes_count; std::cin >> num_count; std::cin >> changes_count; std::vector nums; std::vector tokens; std::vector> changes; input(num_count, changes_count,nums, tokens, changes); int sum = eval(nums, tokens); std::cout << is_what(sum) << std::endl; for(int i = 0; i < changes_count; i++){ change(nums, tokens, changes[i]); sum = eval(nums,tokens); std::cout << is_what(sum) << std::endl; } return 0; }