本說明文件僅供參考,
比賽時以

比賽主機

上之資訊為準。

The 2017 NTU NPSC

「比賽時間內」泛指:

模擬測試,初賽,決賽活動期間內。

比賽快結束了!
Kattis文件
還沒開始。
比賽 將會開始於 -4 days 23:44:50

經過時間

5:00:00

剩餘時間

0:00:00

Technical information

輸入與輸出

你撰寫的程式要從標準輸入 (standard input)來讀取 (file descriptor 0, STDIN_FILENO/stdin in C, cin in C++, System.in in Java), 並從標準輸出(standard output)來輸出 (file descriptor 1, STDOUT_FILENO/stdout in C, cout in C++, System.out in Java)。 任何輸出到標準錯誤輸出 (standard error)的訊息都會被忽略 (file descriptor 2, STDERR_FILENO/stderr in C, cerr in C++, System.err in Java)。 如果你好好利用這個特性,可以讓你在除錯時更方便。 (舉例來說,你如果將你的所有的除錯訊息都輸出至標準錯誤輸出,則在上傳的時候可以不用將這些除錯訊息刪除。) 但要注意的是,這些額外的輸出仍會消耗你的執行時間。

所有的輸入都會符合題目中的 Input 說明。 如果題目中說輸入是個正整數,你就不需要處理輸入是負整數的情況(也不需要處理不是整數的輸入)。 切記,要看清楚輸入的格式,有時候輸入是很邪惡的! 輸出時 Kattis 會嚴格要求輸出格式與題目敘述中的 Output 相符,所有多餘的空白或是任何差異都會被當作錯誤。除非題目敘述有特別說明評分方式。

編譯器

以下是編譯你的 submisstion 時的編譯器跟編譯器參數

Language 編譯器 版本 參數
C GCC gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 -g -O2 -std=gnu99 -static -lm
C++ GCC g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4 -g -O2 -static -std=gnu++0x

當編譯時,所有擁有下列副檔名的檔案會被抓出來編譯。

Language 副檔名
C .c
C++ .cc, .cpp, .cxx, .c++, .C

舉例來說,如果你上傳 foo.ccfoo.h 以及 main.cpp, 編譯過程會執行g++ -O2 foo.cc main.cpp

在 Java 中,Kattis 會將 stack 的大小增加到 8 megabytes (i.e. run java -Xss8m)。

系統函式庫

你可以任意地用你撰寫語言的標準函式庫與類別 (class)。 像是 C++ 有 STL (Standard Template Library), Java 有像是 java.lang.BigInteger。 STL的版本會跟GCC編譯器的版本相同。

程式結束時

程式結束時,Kattis 會取得你程式的回傳值 (exit code)。 如果你的回傳值非 0,你的程式會被判斷為 Run Time Error。