こんにちは, Shinoryoです.
今回はAtCoder Beginner Contest 174を, Pythonで解いてみた結果を書き連ねていこうと思います.
AtCoder Beginner Contest 174 - AtCoder
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
A - Air Conditioner
入力値が
if int(input()) >= 30: | |
print("Yes") | |
else: | |
print("No") |
B - Distance
問題文にある条件を順に確かめていきます.
N, D = [int(x) for x in input().split()] | |
ans = 0 | |
for i in range(N): | |
X, Y = [int(x) for x in input().split()] | |
if (X**2 + Y**2)**(1/2) <= D: | |
ans += 1 | |
print(ans) |
C - Repsept
漸化式より, ある
# 入力 | |
K = int(input()) | |
# 7, 77, 777, ……を順番に格納していく変数aの初期化 | |
a = 0 | |
# 高々K回確認すればよい | |
for i in range(K): | |
# aの末尾に7を追加 | |
# 数字が大きくなりすぎるのを防ぐために, ここで7で割った剰余にしておく | |
a = (10*a + 7) % K | |
# 7で割った剰余が0かどうかを確認 | |
if a == 0: | |
# 答えの出力 | |
print(i + 1) | |
exit() | |
# 存在しなければ-1を出力 | |
print(-1) |
D - Alter Altar
「赤い石の左隣に置かれた白い石は災いを招く」というのは, すなわち左側に"R", 右側に"W"がまとまって存在するようにしなければならないことになります. イメージとしては, 右の方にある"R"を左の方にある"W"と入れ替えればよいことになります.
そのためには, まずは文字列に存在する"R"の個数を調べます. 最終的には左端からその個数だけ"R"が並ぶことになりますので, その部分文字列に"W"が何個あるかを調べます. その個数だけ, "R"と"W"の入れ替えを行えばよいことになります.
N = int(input()) | |
c = input() | |
# 左側に"R", 右側に"W"がまとまって存在するようにしなければならない | |
# R...R | W .. W | |
# まず, cに存在する"R"の個数(=Rcount)を調べる | |
# 左からRcount個だけ"R"が並ぶ状態にすればよい | |
# 実際には, cから左からRcount個だけ抽出し, | |
# そのうち"W"の個数だけ, "W"と"R"の入れ替えを行うことになる | |
print(c[:c.count("R")].count("W")) |
E以降
E以降は私の能力不足故に省略いたします.
参考にしたサイト等
- 「解説 - AtCoder Beginner Contest 174」
Editorial - AtCoder Beginner Contest 174
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
- マスオ(難波博之; 高校数学の美しい物語)様の「合同式の意味とよく使う6つの性質」
合同式の意味とよく使う6つの性質
合同式を使う意味,メリットを詳しく説明します. そして,その恩恵を最大限受けるために合同式のよく使う性質を6つ紹介します.
- マスオ(難波博之; 高校数学の美しい物語)様の「鳩ノ巣原理を使う数学オリンピックの問題」
鳩ノ巣原理を使う数学オリンピックの問題
鳩ノ巣原理(ディリクレの原理)の解説と,その応用例として数学オリンピックの過去問を2つ紹介します.
- Tomotaka Ito様の「Python文字列操作マスター」
Python文字列操作マスター - Qiita
Pythonにおける基本的な文字列操作をまとめました. 経験豊富な人には物足りない内容かもしれませんが... (追記2018.12.23: print の文法をPython3対応にしました. Python2でコピペしたコードが動かない場...
0 件のコメント:
コメントを投稿 (Please feel free to ask me about your questions! You can use Japanese or English in the comments.)