#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string>
#include <string.h>
#include <vector>
#include <queue>
#include <stack>
#include <sstream>
using namespace std;
//1178
struct node{
int x;
int y;
int m;
bool operator < (const node &a) const {
if(m!=a.m) return m>a.m;
else return y<a.y;
}
};
int n,a,b;
node t;
string s;
vector<node> v;
int main(){
// freopen("input.txt","r",stdin);
while(cin>>n){
v.clear();
while(n--){
cin>>s;
//cout<<s<<endl;
if(s[0]=='P'){
if(v.empty()) printf("empty\n");
else{
printf("%d+i%d\n",v[0].x,v[0].y);
v.erase(v.begin(),v.begin()+1);
printf("SIZE = %d\n",v.size());
}
}
else if(s[0]=='I'){
cin>>s;
sscanf(s.c_str(),"%d+i%d",&t.x,&t.y);
t.m=t.x*t.x+t.y*t.y;
v.push_back(t);
sort(v.begin(),v.end());
printf("SIZE = %d\n",v.size());
}
}
}
return 0;
}
/**************************************************************
Problem: 1178
User: cust123
Language: C++
Result: Accepted
Time:20 ms
Memory:1524 kb
****************************************************************/
题目1178:复数集合
最新推荐文章于 2021-05-18 18:13:51 发布