北郵機試 複數集合

2021-09-07 10:00:58 字數 1342 閱讀 3062

乙個複數(x+iy)集合,兩種操作作用在該集合上:     1、pop 表示讀出集合中複數模值最大的那個複數,如集合為空輸出  empty ,不為空就輸出最大的那個複數並且從集合中刪除那個複數,再輸出集合的大小size;     2 insert a+ib  指令(a,b表示實部和虛部),將a+ib加入到集合中 ,輸出集合的大小size;     最開始要讀入乙個int n,表示接下來的n行每一行都是一條命令。

輸入有多組資料。

每組輸入乙個n(1<=n<=1000),然後再輸入n條指令。

根據指令輸出結果。

模相等的輸出b較小的複數。

a和b都是非負數。

示例1輸入3

popinsert 1+i2

pop輸出

empty

size = 1

1+i2

size = 0

#include#include#include#includeusing namespace std;

class fushu

int getmo()

};int main()

v1.push_back(temp+' '+temp2);

} vector::iterator i; //定義兩個迭代器,用於遍歷刪除操作

vector::iterator i2;

for(i=v1.begin();i!=v1.end();i++)else if(temp->getmo()==max)}}

fushu* f=*(v2.begin()+index);

coutis;ss.clear(); //使用stringstream將字串轉為int

ss<>ix;ss.clear();

fushu* f=new fushu(is,ix);

v2.push_back(f);

cout<<"size = "《這道題在二刷時應用了stl中的許多輪子,更加清晰一些

#include#include#include#include#includeusing namespace std;

class fushu

};struct fushuruleelse

i+=2;

while(i>ia;ss.clear();

ss<>ib;ss.clear();

fushu* ftemp=new fushu(ia,ib);

vf.push_back(*ftemp);

cout<<"size = "<} }

return 0;

}

北郵機試 special

題目 設乙個正整數既是平方數又是立方數時,稱其為special數。輸入包含多組測試資料,第一行輸入測試資料的組數,接著在後續每行輸入n n 1000000000 的時候,請輸出1到n中包含的所有special數的個數。example inputs 21 64outputs 12 本來想的方法時間複雜...

2017北郵 網安院機試總結

a題 最大不相同位數 輸入 先輸入需要判斷的組數t,然後依次兩個字串,共t組,字串長度在20位以內 輸出 每組字串內不相同的字元的最大位數是多少 例如 輸入 3baccc abe a a ab 輸出 5 0 1 個人分析 這個題當時理解性錯誤 這個題的描述都是我把題目中不必要的內容刪去直接寫的我最後...

特殊數 2017北郵機試真題

題目 設乙個正整數既是平方數又是立方數時,稱其為special數。輸入包含多組測試資料,第一行輸入測試資料的組數,接著在後續每行輸入n n 1000000000 的時候,請輸出1到n中包含的所有special數的個數。example inputs 21 64outputs 12 project sp...