小 K 現在有太多的複數了,所以希望你能夠幫助他把現有的複數儲存起來,在請求資料時再回覆。
請在程式碼最前面引入標頭檔 lib0621.h
,並實作以下功能:
>>
,使得讀取一個複數 cpx
可以由 cin >> cpx.real >> cpx.imaginary
改為 cin >> cpx
Init(int &N, int &Q, complex_number*& cpx, Query*& queries)
Answer(double ans)
Init
讀取資料。接著需要呼叫 $Q$ 次 Answer
依序回答 queries[0] ~ queries[N-1]
所要求的資料,而 Query
含有以下的內容:queries[i].index
代表要回答的是第幾個複數queries[i].type
是一個 enum,代表要回答的是實部還是虛部queries[i].type == real
的話就是實部queries[i].type == imaginary
的話就是虛部complex 和 Query 都已經定義在 lib0621.h
,不需要額外實作。
注意此題不需要任何的輸入或輸出,否則將會發生不可預期的結果。
若你的結構實作不符合需求,除了獲得 Wrong Answer
之外,你更有可能獲得 Compile Error
或 Runtime Error
。
提示:你可能會需要 include
需要的標頭檔來迴避 Compile Error
。
如果還是不確定該如何進行,可以參考以下的程式碼進行修改:
#include "lib0621.h"
int main(){
int N, Q;
Query* queries;
complex_number* cpx;
Init(N, Q, cpx, queries);
for(int i = 0; i < Q; i++){
double ans = 0;
if (queries[i].type == real){
// TODO
}
if (queries[i].type == imaginary){
// TODO
}
Answer(ans);
}
}
本題沒有輸入,隨意輸入將會得到不可預期的結果。
本題沒有輸出,隨意輸出將會得到不可預期的結果。
測試用標頭檔
這裡提供一份本地測試用的標頭檔,你可以將其複製下來存檔成 lib0621.h
後 #include "lib0621.h"
做使用。但請注意,這只是測試用的標頭檔,一些與解題無關的行為將會與 judge 上的有所不同,因此請不要嘗試任何與解題無關的行為,很可能會導致各種不可預期的後果。
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 0~6 | 無額外限制 | 100 |