比賽時以
比賽時以
你撰寫的程式要從標準輸入 (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.cc
、foo.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。