AtCoder Beginner Contest 001

Submission #176077

Source codeソースコード

# モジュール bisect から全てをインポートします.
# import bisect としてもいいのですが,その場合には,
# 後述の bisect_right を bisect.bisect_right と書きます.

from bisect import *

# 各種定数を定義します.
# 実際に処理を行う部分にこれらの値を書くこともできますが,
# 定数は追い出してまとめておくことで,プログラムの見通しがよくなります.

Dirs = ['N', 'NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW']
Ws = [3, 16, 34, 55, 80, 108, 139, 172, 208, 245, 285, 327]

# 入力を受け取ります.

# s.split() は,s を空白文字で区切り,それをリストとして返します.
# たとえば,'2750 628' は ['2750', '628'] となります.

# map(f, a) は,a の各要素について関数 f を適用した結果を返します.
# たとえば,map(int, ['2750', '628']) = [2750, 628] となります.

# これを [Deg, Dis] に代入することで,入力を受け取ることができます.

[Deg, Dis] = map(int, input().split())

# 風速は分速で与えられるので,秒速に直しておきます.
# さらに,整数として扱うために,10 倍した値で考えます.
# たとえば,12.3m を 123 として扱います.

Dis = int(Dis / 60.0 * 10.0 + 0.5)

# bisect_right(a, b) は,
# a の中で b より大きい要素のうち,もっとも前にあるものの位置を返します.

# たとえば,bisect_right(Ws, 34) を考えます.
# Ws の要素ではじめて 34 より大きくなるものは 55 です.
# 55 は(0 から数えることに注意して)3 番目の要素なので,結果は 3 となります.

# これで風力が正しく得られることを確認しましょう.

W = bisect_right(Ws, Dis)

# 風向は,360 度を 22.5 度ずつに等分したもので定義されています.
# したがって,以下の式を用いて簡単に求めることができます.

# 風力が 0 のときは風向が C となることに注意してください.
# Python3 では,X if cond else Y と書くことで,
# cond が真のとき X, 偽のとき Y を表すことができます.

Dir = Dirs[(Deg * 10 + 1125) % 36000 // 2250] if W > 0 else 'C'

# 答えを出力します.

print('{0} {1}'.format(Dir, W))

Submission

Task問題 C - 風力観測
User nameユーザ名 rankugai
Created time投稿日時
Language言語 Python3 (3.2.3)
Status状態 AC
Score得点 100
Source lengthソースコード長 2450 Byte
File nameファイル名
Exec time実行時間 151 ms
Memory usageメモリ使用量 8660 KB

Test case

Set

Set name Score得点 / Max score Cases
all 100 / 100 00_sample_01.txt,00_sample_02.txt,00_sample_03.txt,00_sample_04.txt,00_sample_05.txt,00_sample_06.txt,00_sample_07.txt,00_sample_08.txt,test_01.txt,test_02.txt,test_03.txt,test_04.txt,test_05.txt,test_06.txt,test_07.txt,test_08.txt,test_09.txt,test_10.txt,test_11.txt,test_12.txt,test_13.txt,test_14.txt,test_15.txt,test_16.txt,test_17.txt,test_18.txt,test_19.txt,test_20.txt,test_21.txt,test_22.txt,test_23.txt,test_24.txt,test_25.txt,test_26.txt,test_27.txt,test_28.txt,test_29.txt,test_30.txt,test_31.txt,test_32.txt,test_33.txt,test_34.txt,test_35.txt,test_36.txt,test_37.txt,test_38.txt,test_39.txt,test_40.txt,test_41.txt,test_42.txt,test_43.txt,test_44.txt,test_45.txt,test_46.txt,test_47.txt,test_48.txt,test_49.txt,test_50.txt,test_51.txt,test_52.txt,test_53.txt,test_54.txt,test_55.txt,test_56.txt,test_57.txt,test_58.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 143 ms 8560 KB
00_sample_02.txt AC 142 ms 8516 KB
00_sample_03.txt AC 140 ms 8576 KB
00_sample_04.txt AC 142 ms 8612 KB
00_sample_05.txt AC 142 ms 8612 KB
00_sample_06.txt AC 141 ms 8604 KB
00_sample_07.txt AC 140 ms 8572 KB
00_sample_08.txt AC 149 ms 8512 KB
test_01.txt AC 141 ms 8516 KB
test_02.txt AC 143 ms 8516 KB
test_03.txt AC 145 ms 8528 KB
test_04.txt AC 149 ms 8576 KB
test_05.txt AC 143 ms 8572 KB
test_06.txt AC 147 ms 8580 KB
test_07.txt AC 141 ms 8568 KB
test_08.txt AC 141 ms 8520 KB
test_09.txt AC 144 ms 8576 KB
test_10.txt AC 151 ms 8576 KB
test_11.txt AC 144 ms 8608 KB
test_12.txt AC 140 ms 8576 KB
test_13.txt AC 140 ms 8576 KB
test_14.txt AC 141 ms 8568 KB
test_15.txt AC 143 ms 8568 KB
test_16.txt AC 140 ms 8608 KB
test_17.txt AC 141 ms 8520 KB
test_18.txt AC 144 ms 8624 KB
test_19.txt AC 139 ms 8608 KB
test_20.txt AC 140 ms 8576 KB
test_21.txt AC 145 ms 8532 KB
test_22.txt AC 146 ms 8580 KB
test_23.txt AC 143 ms 8572 KB
test_24.txt AC 144 ms 8572 KB
test_25.txt AC 143 ms 8520 KB
test_26.txt AC 139 ms 8572 KB
test_27.txt AC 138 ms 8576 KB
test_28.txt AC 139 ms 8564 KB
test_29.txt AC 145 ms 8572 KB
test_30.txt AC 146 ms 8572 KB
test_31.txt AC 138 ms 8608 KB
test_32.txt AC 139 ms 8516 KB
test_33.txt AC 144 ms 8608 KB
test_34.txt AC 144 ms 8608 KB
test_35.txt AC 140 ms 8568 KB
test_36.txt AC 141 ms 8616 KB
test_37.txt AC 145 ms 8660 KB
test_38.txt AC 146 ms 8600 KB
test_39.txt AC 142 ms 8572 KB
test_40.txt AC 143 ms 8604 KB
test_41.txt AC 144 ms 8524 KB
test_42.txt AC 144 ms 8604 KB
test_43.txt AC 145 ms 8516 KB
test_44.txt AC 140 ms 8608 KB
test_45.txt AC 139 ms 8576 KB
test_46.txt AC 139 ms 8580 KB
test_47.txt AC 140 ms 8608 KB
test_48.txt AC 142 ms 8516 KB
test_49.txt AC 147 ms 8612 KB
test_50.txt AC 143 ms 8576 KB
test_51.txt AC 143 ms 8580 KB
test_52.txt AC 141 ms 8612 KB
test_53.txt AC 137 ms 8572 KB
test_54.txt AC 146 ms 8628 KB
test_55.txt AC 142 ms 8572 KB
test_56.txt AC 147 ms 8572 KB
test_57.txt AC 140 ms 8612 KB
test_58.txt AC 141 ms 8632 KB