ホーム‎ > ‎

AtCoder

AtCoder とはプログラミングコンテストを開催している Web サイトで、

  • 比較的小さいプログラムを書くコンテストである
  • 問題文は日本語で与えられる
  • 多くのプログラミング言語をサポートしている (計算数学Iで紹介したプログラミング言語では D, Lua, Perl, Python, Ruby)
  • 過去問をオンラインジャッジとして公開している
  • 公式コンテストには簡単な問題も含まれる

といった特徴をもちます。 よってプログラミングの初心者からアルゴリズムを勉強している人まで、様々な層の練習に適しています。 

これだけでは何を言っているのかよくわからないので チュートリアル の 1.3 以降を見ながら 練習問題 を解いてみます。

問題

まず、問題は

  • 問題文
  • 入力
  • 出力

のパートと入出力例からなります。 ここで指定された仕様に沿うプログラムを書きます。 練習問題には解答例がついています。

提出

解答を提出してジャッジを受けるには、ユーザ登録が必要です。 ログインしてから問題ページ最左下の「提出する」ボタンを押して提出ページへ飛ぶと、問題・言語 を選び ソースコード を貼り付ける欄があります。 正しく埋めて「ソースコードを提出する」を押すと提出されます。

結果

ソースコードを提出すると自分の結果を一覧できるページへ遷移します。 状態がグレーの "WJ" になっているでしょう。 これはまだ採点が終わっていないことを表します。

「詳細を確認」ページでは、当該提出についての詳細を確認できます。 しばらく待ってから読み込むと、状態が変わっているでしょう (変わっていなかったら、もう少し待ってから同じ操作をします)。 緑の "AC" になれば正解です。 コードをブラッシュアップするなり、次の問題へ進むなり自由に遊んでください。 それ以外は何かしらの誤りを意味します。 できるだけ修正するよう努力してほしいですが、あきらめて他の問題をやっても構いません。

練習

過去コンテストの一覧は トップページ にあります。 過去問として解く時には時間制限がありません。 また、他のユーザの解答を検索して参考にすることもできます。

AtCoder Regular Contest というのが公式コンテストで、A-D の4問をコンテストでは90分で解きます。 A問題やB問題は毎回、基本的な文法を知っていれば解けるようなものが出題されます。さらに初心者向けに120分で4問が出題される AtCoder Beginner Contest というものとともに隔週で開催されています。他にも、AtCoder Typical Contest というヒントを参考に典型問題を解くコンテストもあり、ほとんどに公式の解説スライドが用意されています。 したがって、プログラミング初心者の練習に最適です。 AtCoder Regular Contest で上位に入賞するには、(みなさんが得意な!!) 数学的な思考やアルゴリズムの知識を要します。

計算数学の日誌に AtCoder で練習した結果を載せる際は、詳細ページの URL を書いてください。 コードがきれいに表示されるのでコピー&ペーストより見やすいです。 誤答になったものを載せれば「このようなケースが誤りだからここが間違っているのではないか」といったアドバイスもできるでしょう。

Comments