题解 | #复数集合#

复数集合

https://www.nowcoder.com/practice/abdd24fa839c414a9b83aa9c4ecd05cc

#include <iostream>
#include <queue>
using namespace std;

struct Complex{
    int real;
    int imag;
    Complex(int r, int i):real(r), imag(i){}
    bool operator< (Complex c2) const {
        return real*real+imag*imag < c2.real*c2.real+c2.imag*c2.imag;
    }
};

priority_queue<Complex> q;

int main() {
    int n;
    while(cin >> n){
        while(n --){
            string op;
            cin >> op;
            if(op == "Pop"){
                if(q.empty())
                    cout << "empty" << endl;
                else{
                    cout << q.top().real << "+i" << q.top().imag << endl;
                    q.pop();
                    cout << "SIZE = " << q.size() << endl;
                }
            }else{//Insert
                int real, imag;
                scanf("%d+i%d", &real, &imag);
                q.push(Complex(real, imag));
                cout << "SIZE = " << q.size() << endl;
            }
        }
    }

    return 0;
}

全部评论

相关推荐

每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
那一天的Java_Java起来:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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