やるだけPython競プロ日誌

競プロの解説をPythonでやっていきます。できるだけ初心者に分かりやすいように『やるだけ』とかは言わないようにします。コメントについては必ず読んでいます。どんなに細かいことでもいいのでコメントくださればうれしいです。

2017-11-01から1ヶ月間の記事一覧

プログラミング(競プロ)に便利な Python3 用法集 ~出力編~

単純出力: print(n) 一番簡素な出力です。 n = "114514" print(n) # 114514 ぱっと見ではprintされるものが文字列なのか数なのか分かりませんが、 n = "114514" print(n * 2) # 114514114514 となり、"229028"とは表示されません。そうしたいのであれば、int…

PythonでAtCoder Beginner Contest 079 ABC079

AtCoder Beginner Contest 079 ABC079 2017/11/19 21:00 ~ 22:40の問題でした。 簡単に説明すると A:orで3つをイコールB:リュカ数を求める(キャッシュが好ましい)C:3重ループD:ワーシャルフロイド となります。 A : Good Integer 問題文 1118 のような…

Python3 ~split関数について~

競技プログラミング(あるいはそれ以外でも)で使わない問題はないのではないと思うほど使用頻度の高いsplit()ですが、それを高度な使用をしようとしてできる人はあまり多くないのではないでしょうか。今回は、そんな愛されながらも謎に包まれたsplit()につ…

Python3 ~map関数について~

今回は map()関数 についてお話します。簡単に言うと、リストやタプルなどのシーケンスに対してmap(a, b) はbに対してaしたものを返す。ということです。たとえば def double(n): return (int(n) * 2) lis = ["114514", "810", "893"] print(list(map(double…

プログラミング(競プロ)に便利な Python3 用法集 ~入力編~

単純入力: n = input() 一番簡素な入力だと思います n = input() # 114514 print(n) # 114514 大切なことですがこのとき、nの中に入っているのは数としての“114514”ではなく、文字列(str)としての“114514”です。ですので、 n = input() # 114514 print(n * 2…

PythonでAtCoder Beginner Contest 078 ABC078

AtCoder Beginner Contest 078 ABC078 2017/11/11 21:00 ~ 22:40の問題でした。 簡単に説明すると A:文字同士の順序を求めるB:植木算(小学校でやるやつ)C:回数としての期待値の算出D:max計算でOK となります。 A:HEX 問題文 プログラミングでは 16進…