题解 | #复数集合#c++优先队列

复数集合

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

#include <bits/stdc++.h>
using namespace std;
struct node {
    int a;
    int b;
};
bool operator<( node n1, node n2) {
    //n1的模小于n2的模,则交换
    return n1.a * n1.a + n1.b * n1.b < n2.a * n2.a + n2.b * n2.b;
}
int main() {
    int n;
    priority_queue<node> q;
    while (cin >> n) {
        for (int i = 0; i < n; i++) {
//          string s;
            char s1[30];
            cin >> s1;
            string s = s1;
            if (s == "Pop") {
                if (!q.empty()) {
                    cout << q.top().a << "+i" << q.top().b << endl;
                    q.pop();
                    cout << "SIZE = " << q.size() << endl;

                } else {
                    cout << "empty" << endl;
                }
            } else if (s == "Insert") {
                int a, b;
                scanf("%d+i%d", &a, &b);
                node c;
                c.a = a;
                c.b = b;
                q.push(c);
                cout << "SIZE = " << q.size() << endl;
            }
        }
    }
    return 0;
}

全部评论

相关推荐

机械打工仔:我来告诉你原因,是因为sobb有在线简历,有些HR为了快会直接先看在线简历,初步感觉不合适就不会找你要详细的了
投了多少份简历才上岸
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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