Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int parent[100010];
- int main(){
- int n , m;
- cin >> n >> m;
- stack<int> s[n+2];
- int j=1;
- for(int i=1;i<=n;++i){
- s[i].push(0);
- }
- int x ,y ,z;
- for(int i=1;i<=m;++i){
- char a;
- cin >> a;
- if(a=='='){
- cin >> x >> y;
- s[x].push(y);
- parent[j]=x;
- ++j;
- }
- else if(a=='+'){
- cin >> x >> y >> z;
- int u=s[x].top();
- int v=s[y].top();
- s[z].push(u+v);
- parent[j]=z;
- ++j;
- }
- else if(a=='-'){
- cin >> x >> y >> z;
- int u=s[x].top();
- int v=s[y].top();
- s[z].push(u-v);
- parent[j]=z;
- ++j;
- }
- else if(a=='C'){
- cin >> x >> y;
- s[y].push(s[x].top());
- parent[j]=y;
- ++j;
- }
- else if(a=='P'){
- cin >> x;
- cout << s[x].top() << "\n";
- }
- else if(a=='U'){
- cin >> x;
- while(x--){
- --j;
- s[parent[j]].pop();
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement