時間限制 1000 ms
記憶體限制 65536 kb
給你乙個複數集合,保證aj和bj都是整數,初始為空集。
每次會給你如下兩種操作中的一種:
1."insert x+iy",其中x,y都是整數。表示在集合中加入乙個複數 x+iy,同時輸出此時集合的大小;
2."pop"。如果集合為空集直接返回「empty!」,如果有元素則以"x+iy"的形式顯示集合中模值最大的複數,然後將該元素從集合中刪除,之後在第二行顯示操作之後的集合大小,如果為空集則顯示「empty!」。
第一行只有乙個數t,代表case數。0<=t<=10
每一組case:
第一行有乙個整數n,表示這組case中一共有n條命令 0接下來n行每行有乙個命令,命令如上所述
保證不會輸入兩個模值同樣的元素,並保證實部虛部都大於0,小於1000。
依照上述原則輸出每乙個命令對應的輸出
如果輸入命令是insert命令,則對應的輸出佔一行為集合大小;
如果輸入命令是pop命令,則對應的輸出佔一行或者兩行,為模值最大的複數和集合大小。
請注意,輸出集合大小的格式為"size:空格x回車",x為集合大小
1
5pop
insert 1+i2
insert 2+i3
poppop
empty!
size: 1
size: 2
2+i3
size: 1
1+i2
empty!
#include#include#include#include#includeusing namespace std;
typedef struct node
node;
bool cmp(node a,node b)
int main()
}else}}
}}
北郵OJ虛數
乙個複數 x iy 集合,兩種操作作用在該集合上 1 pop 表示讀出集合中複數模值最大的那個複數,如集合為空 輸出 empty 不為空就輸出最大的那個複數並且從集合中刪除那個複數,再輸出集合的大小size 2 insert a ib 指令 a,b表示實部和虛部 將a ib加入到集合中 輸出集合的大...
北郵OJ打牌
牌只有1到9,手裡拿著已經排好序的牌a,對方出牌b,用程式判斷手中牌是否能夠壓過對方出牌。規則 出牌牌型有5種 1 一張 如4 則5.9可壓過 2 兩張 如44 則55,66,77,99可壓過 3 三張 如444 規則如 2 4 四張 如4444 規則如 2 5 五張 牌型只有12345 23456...
北郵OJ樹查詢
有一棵樹,輸出某一深度的所有節點,有則輸出這些節點,無則輸出empty。該樹是完全二叉樹。輸入描述 輸入有多組資料。每組輸入乙個n 1 n 1000 然後將樹中的這n個節點依次輸入,再輸入乙個d代表深度。輸出描述 輸出該樹中第d層得所有節點,節點間用空格隔開,最後乙個節點後沒有空格。示例1輸入 41...