参照紫书书写,无法通过样例,码风清晰

UVA12096 The SetStack Computer

@[Prosecutor_Godot_](/user/789404) 在**最关键的**进行末三种操作(UNION,INTERSECT和ADD)时,你直接将集合拉下来操作。 但是,因为修改后的东西有一项 ADD 操作,需要把两个集合并(不是并集)起来,需要操作的对象是集合编号,因此需要用集合编号来进行。 具体的你可以看我的代码: ```cpp else { int a = stk.top(); stk.pop(); int b = stk.top(); stk.pop(); set<int> st; if (op == "UNION") set_union(rcnv[a].begin(), rcnv[a].end(), rcnv[b].begin(), rcnv[b].end(), inserter(st, st.begin())); else if (op == "INTERSECT") set_intersection(rcnv[a].begin(), rcnv[a].end(), rcnv[b].begin(), rcnv[b].end(), inserter(st, st.begin())); else if (op == "ADD") { st = rcnv[b]; st.insert(a); } stk.push(getid(st)); } ```
by AlexandreLea @ 2024-02-12 23:54:46


|