题解 | #复数集合#

复数集合

http://www.nowcoder.com/questionTerminal/abdd24fa839c414a9b83aa9c4ecd05cc

#include "cstdio"
#include "queue"
using namespace std;
#include "string"
struct complex{
    int re;
    int im;
};
bool operator < (complex lhs,complex rhs){
    //lhs的模<rhs的模,左边是父亲,右边是孩子
    return lhs.re*lhs.re+lhs.im*lhs.im <rhs.re*rhs.re+rhs.im*rhs.im;
}
int main(){
    int n;
    priority_queue<complex> queue;
    scanf("%d",&n);
    for (int i = 0; i < n; ++i) {
        char action[30];
        scanf("%s",action);
        string action1=action;
        if (action1=="Pop"){
            if (queue.empty()){
                printf("empty\n");
            } else{
                printf("%d+i%d\n",queue.top().re,queue.top().im);
                queue.pop();
                printf("SIZE = %d\n",queue.size());
              
            }
        } else if (action1 =="Insert"){
            int re,im;
            scanf("%d+i%d",&re,&im);//格式化读取
            complex c;
            c.re=re;
            c.im=im;
            queue.push(c);
            printf("SIZE = %d\n",queue.size());

        }
    }

}
全部评论
好,和我的一模一样
点赞 回复 分享
发布于 2023-04-06 21:05 山东

相关推荐

今天 14:00
门头沟学院 运营
点赞 评论 收藏
分享
这算盘打的
程序员小白条:都这样的,都是潜规则,你自己说可以实习一年就行了,实习可以随便跑路的
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务