北郵OJ 108 虛數

2021-06-29 07:52:25 字數 1003 閱讀 6192

時間限制 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...