文系プログラマーのプログラミング備忘録

Java、競プロ、数学などについて書いてます

はじめてのCodeforces

Codeforces で 初ACを獲得するまでの記録です。


登録は Googleアカウント で手早く済ませられるので、省きます。



問題を選択する

f:id:YukiMoto:20190309234311p:plain:w600


ProblemSet から問題一覧を見ることができます。
右端のチェックを押すとAC者数順にソートされるみたいなので、今回は一番AC者が多い「Watermelon」を選びます。


※追記:チェックの隣にある "S" を押すことで、問題をCodeforcesが設定した難易度順にソートできるみたいです。また、右側の Filter problems を使うことで、500点(もっとも簡単)から800点や1000点など、好きな難易度の問題をフィルタリングできます。



問題を読む

f:id:YukiMoto:20190309234553p:plain:w600


英語です。
Google翻訳に通したら十分理解できる程度の日本語にはなったので、なんとか解いていけそうです。


さて、この問題ですが、要約すると


・N(1以上100以下)が与えられる。これを2つに分けたとき(割るではない)、両方偶数にできるか


という問題でした。AtCoder換算だと200点寄りの100点、くらいでしょうか。



コードを提出する

f:id:YukiMoto:20190310000121p:plain:w800


提出は上部タブの Submit からおこないます。


コードの書き方については基本的に AtCoder と同じで大丈夫のようですが、
メインメソッドが入っているクラス(ここでは Main)の修飾子は public にしないといけないみたいです。


以上のことに注意しつつコードを貼り付けたら、下の Submit ボタンを押して提出します。



提出を確認する

f:id:YukiMoto:20190310000818p:plain:w800


提出が終わると、自動的に Status の画面に移動します。ここで、自分の提出が正解か不正解かを確認します。


右上の friend only を押すと、自分の提出だけ表示することができるみたいなので、活用したいですね。


ちなみに Codeforces では yukicoder のようにテストケースを確認することができます。
"#" の下にある 5109...... を押すことでテストケースの入力・出力、さらには自分が提出したプログラムが出した出力まで見ることができます。これは凄く便利ですね。


今後の進め方

とりあえず、AC者数の多い順に問題を解いていきたいです。
翻訳の精度や問題の難易度なども手探りの状態なので、時間をかけて慣れていこうと思います。