pat1001

来源:互联网 发布:淘宝如何使用分期付款 编辑:程序博客网 时间:2024/06/06 02:35
#include<cstdio>#include<stack>using namespace std;struct Node{    int exp;    float value;};stack<Node> q1,q2,q3;int main(){    int k,exp;    float value;    while(scanf("%d",&k)!=EOF){        for(int i=0;i<k;i++){            scanf("%d%f",&exp,&value);            q1.push(Node{exp,value});        }        scanf("%d",&k);        for(int i=0;i<k;i++){            scanf("%d%f",&exp,&value);            q2.push(Node{exp,value});        }        int cnt=0;        while(!q1.empty()&&!q2.empty()){            Node t1=q1.top(),t2=q2.top();            if(t1.exp>t2.exp) {                q3.push(t2);                q2.pop();            }else if(t1.exp==t2.exp){                if(t1.value+t2.value==0)                    cnt--;                else                    q3.push(Node{t1.exp,t1.value+t2.value});                q1.pop();                q2.pop();            }else{                q3.push(t1);                q1.pop();            }            cnt++;        }        if(!q1.empty()) while(!q1.empty()){            q3.push(q1.top());            q1.pop();            cnt++;        }        if(!q2.empty()) while(!q2.empty()){            q3.push(q2.top());            q2.pop();            cnt++;        }        printf("%d",cnt);        while(!q3.empty()){            printf(" %d %.1f",q3.top().exp,q3.top().value);            q3.pop();        }        printf("\n");    }    return 0;}

原创粉丝点击