投稿者 NOSS | 2019-07-12
ICPC国内予選の解答手順は特殊なのでよく理解しておく必要があります。
最悪の場合1問も解けない場合に陥ります。
概略
詳しくは公式サイトを参照してください。
大まかな流れは
- ソースコードを書く
- ソースコードをコンパイルする
- テストケースを競技ページからダウンロードする
- 手元のコンピュータでプログラムを実行する
- 出力結果とソースコードを競技サイトへ送信する
- 3-5の手順を2回繰り返し正しければ正解となる。
VS CodeとVSにてついて具体的な手順を解説します。
Visual Studio Codeの場合
すでにC++をコンパイルする環境が整っていることを前提としています。
ソースコードのコンパイル
これはコンピュータの環境によりますが、gccがインストールされているなら
g++ test.cpp -o test.out
をターミナルで実行するとtest.out
という実行プログラムができます。
テストケースの実行
競技ページからテストケースを実行プログラムがあるフォルダにダウンロードします。このファイル名をAin
として
./test.out < Ain > Aout
とすると、test.out
にAin
を入力したときの結果がAout
に出力されます。
結果の提出
公式ページでの解説:http://icpc.iisf.or.jp/past-icpc/domestic2015/user_man/
競技ページでtest.cpp
とAout
をアップロードします。
正しければCorrect Answerと出て新たなテストケースを実行するよう言われるので以上を繰り返す。
このときソースコードは一切変更してはいけない。
なぜなら変更を行うと前回の提出が中断されたとみなされ、前回のテストケースは無効になる。
ちなみにテストケースは4つしかないためすべて使い切ると問題の正解が不可能になる。
Wrong Answerならデバックを頑張る。
このときテストケースは消費されないので、修正したらまたこのテストケースを実行すればよい。
Visual Studioの場合。
ソースコードのコンパイル
まず適当なC++のプロジェクトをつくり、ソースコードを書きます。
デバッグは上部の「ローカルWindowsデバッカー」を押すかあるいはF5キーを押すとコンパイルが行われ、プログラムが実行されます。
または、上部の「ビルド」->「ソリューションのビルド」でコンパイルが行える。
コンパイルが行われると例えばtest.exe
という実行プログラムができます。
テストケースの実行
競技ページからテストケースをプロジェクトのtext.exe
があるフォルダにダウンロードします。このファイル名をAin
とします。
次にタスクバーの検索欄に「cmd」と入力します。
候補にコマンドプロンプトがあるので実行します。
先ほどのtext.exe
があるフォルダをエクスプローラーで開き、そのパスを確認します。
例えばC:\Users\NOSS\source\repos\ProblemA
のようなものです。これをコピーします。
続いてコマンドプロンプトで
cd C:\Users\NOSS\source\repos\ProblemA
と入力します。すると、そのフォルダに移動できます。この状態で
./test.exe < Ain > Aout
とすると、test.exe
にAin
を入力したときの結果がAout
に出力されます。
結果の提出
公式ページでの解説:http://icpc.iisf.or.jp/past-icpc/domestic2015/user_man/
競技ページでtest.cpp
とAout
をアップロードします。
正しければCorrect Answerと出て新たなテストケースを実行するよう言われるので以上を繰り返す。
このときソースコードは一切変更してはいけない。
なぜなら変更を行うと前回の提出が中断されたとみなされ、前回のテストケースは無効になる。
ちなみにテストケースは4つしかないためすべて使い切ると問題の正解が不可能になる。
Wrong Answerならデバックを頑張る。
このときテストケースは消費されないので、修正したらまたこのテストケースを実行すればよい。
提出ミスについて
解答を提出する前に正しい出力が行われているか必ず確認しましょう。
ICPCではWAの時間ペナルティが20分と重いので提出ミスはなるべく避けたいです。
- 正しい答えか?
- 提出問題先を正しく設定できているか?
- 提出するデータが間違っていないか?
等を複数人で確認するのが望ましいです。