目次

AtCoder

競技プログラミングサイトの1つ。

プログラム的に解けるような問題が出題されるので、入力から正しい答えを出力できるプログラムを書く。ちゃんと出力があってたら正解。合計得点や回答の速さを競う。

ステキ周辺サービス(公式とは限らない)

関連記事

登録

入出力

最初に解くべき問題

PythonでAtCoder

競技プログラミングは計算速度が求められるため、基本的に C++ などの高速なコンパイル言語を使うことが半ば暗黙の常識となっている面がある。

Pythonはスクリプト言語で、計算速度は速いとは言えない、というか遅い。

だが、AtCoderでは1000点~などの高難度の問題でもない限り、きちんと実装すればほとんどの問題は通る。(注: 高難度の問題も多くは通るはず。ただし自分が多くは解けてないので、その割合は知らない)

この「きちんと実装すれば」がポイントで、逆に言うと C++ などでは多少効率の悪いプログラムを書いても通ってしまうことがあるが、Pythonだとなかなかそうはいかない。

ポジティブに考えると、それだけアルゴリズムを正しく使いこなす力が身につくって事だね!(本当か?)

競技プログラミングを「競技」として勝ちにこだわるのであれば、最初から C++ やるか、少なくともPythonと平行で C++ などを書けた方がいいだろなあという気はする。

Python他の高機能言語も、計算量が問題にならない問題に対しては簡単に素早く書けるというメリットはあるとは思う。 従って理想を言うなら両刀使いが強そうだが、言語の切り替え判断が競技中に適切に出来るかというと……まぁ難しいので、基本は高速な言語を優先した方がいい。

そうでは無くて、言語の習得がてらとか、元からPythonやってたとかで、敷居低く楽しみながら参加するのであれば、「Pythonでも十分戦えるよ」ということは言えると思う。

Python3ライブラリ・テクニック・読み物

個人用dokuwiki記事用てんぷれ

Dokuwiki記事用テンプレート自動生成Pythonスクリプト(コンテスト名・問題名・リンクを埋める)