C - 風力観測 Editorial

Time Limit: 2 sec / Memory Limit: 64 MB

注意

この問題は古い問題です。過去問練習をする場合は、新しいAtCoder Beginner Contestから取り組むことをお勧めしています。

問題文

ある風向風速計は、風向の角度と風程を 11 分毎に自動で記録してくれます。

風向の角度というのは真北を 00 度とし、そこから時計回りに風の吹いてくる方向を定めたものです。気象観測等では全体を等しく 1616 分割した 1616 方位が用いられます。1616 方位と角度は、以下の表のように対応します。

風向と角度の関係
 方位  角度   方位  角度 
 N (北)  他のいずれにも当てはまらない   S (南)  168.75168.75 度以上 191.25191.25 度未満 
 NNE (北北東)  11.2511.25 度以上 33.7533.75 度未満   SSW (南南西)  191.25191.25 度以上 213.75213.75 度未満 
 NE (北東)  33.7533.75 度以上 56.2556.25 度未満   SW (南西)  213.75213.75 度以上 236.25236.25 度未満 
 ENE (東北東)  56.2556.25 度以上 78.7578.75 度未満   WSW (西南西)  236.25236.25 度以上 258.75258.75 度未満 
 E (東)  78.7578.75 度以上 101.25101.25 度未満   W (西)  258.75258.75 度以上 281.25281.25 度未満 
 ESE (東南東)  101.25101.25 度以上 123.75123.75 度未満   WNW (西北西)  281.25281.25 度以上 303.75303.75 度未満 
 SE (南東)  123.75123.75 度以上 146.25146.25 度未満   NW (北西)  303.75303.75 度以上 326.25326.25 度未満 
 SSE (南南東)  146.25146.25 度以上 168.75168.75 度未満   NNW (北北西)  326.25326.25 度以上 348.75348.75 度未満 


風程というのは、風向風速計の風車が、ある一定の時間に風によって回った量を距離によって表したものです。
例えば、11 分間の風程が 300m300{\rm m} というのは、11 分間に吹いた風によって風車が 300m300{\rm m} 回ったという事です。この時、この 11 分間の平均風速は 300m300{\rm m}6060 秒で割って、5m/s5{\rm m}/{\rm s} と求められます。

与えられたデータを、ラジオ等で流れる「気象通報」と同様の形式に直そうと思います。
気象通報では、1616 方位での風向と、風力 (ビューフォート風力階級) が伝えられます。

風向は、先の表の 1616 方位です。 ただし、風力 00 の場合、実際には「風弱く」と伝えられるため、風向は 1616 方位ではなく、特別な向きであるCとします。

風力は、風速を計算し、小数第 22 位を四捨五入して、以下の対応により風力に変換します。
 
風力と風速の関係  (ビューフォート風力階級)
風力  風速   風力  風速   風力  風速  
風力00   0.0m/s0.0{\rm m}/{\rm s} 以上 0.2m/s0.2{\rm m}/{\rm s} 以下   風力55   8.0m/s8.0{\rm m}/{\rm s} 以上 10.7m/s10.7{\rm m}/{\rm s} 以下   風力1010   24.5m/s24.5{\rm m}/{\rm s} 以上 28.4m/s28.4{\rm m}/{\rm s} 以下  
風力11   0.3m/s0.3{\rm m}/{\rm s} 以上 1.5m/s1.5{\rm m}/{\rm s} 以下   風力66   10.8m/s10.8{\rm m}/{\rm s} 以上 13.8m/s13.8{\rm m}/{\rm s} 以下   風力1111   28.5m/s28.5{\rm m}/{\rm s} 以上 32.6m/s32.6{\rm m}/{\rm s} 以下  
風力22   1.6m/s1.6{\rm m}/{\rm s} 以上 3.3m/s3.3{\rm m}/{\rm s} 以下   風力77   13.9m/s13.9{\rm m}/{\rm s} 以上 17.1m/s17.1{\rm m}/{\rm s} 以下   風力1212   32.7m/s32.7{\rm m}/{\rm s} 以上  
風力33   3.4m/s3.4{\rm m}/{\rm s} 以上 5.4m/s5.4{\rm m}/{\rm s} 以下   風力88   17.2m/s17.2{\rm m}/{\rm s} 以上 20.7m/s20.7{\rm m}/{\rm s} 以下    
風力44   5.5m/s5.5{\rm m}/{\rm s} 以上 7.9m/s7.9{\rm m}/{\rm s} 以下   風力99   20.8m/s20.8{\rm m}/{\rm s} 以上 24.4m/s24.4{\rm m}/{\rm s} 以下    

風向 (角度) と 11 分間の風程が入力されるとき、それを気象通報の形式に直して出力するプログラムを作成してください。

入力

入力は以下の形式の 11 行からなる。
DegDeg DisDis
  • DegDegは風向を示し、本来の角度を 1010 倍した整数で与えられる (例えば、9090 度なら 900900137.5137.5 度なら13751375と与えられる) 。
  • DisDis11 分間の風程を示す整数である。単位はメートル (m)({\rm m}) である。

制約

  • 0Deg<3,6000≦Deg<3,600
  • 0Dis<12,0000≦Dis<12,000

出力

出力は以下の形式の 11 行とする。
DirDir WW
  • DirDirは風向を示し、C, N, E, W, S からなる 1133 文字の文字列である。
  • WWは風力を示し、00 以上 1212 以下の整数である。
また、出力の末尾には改行を入れること。

入力例 1

Copy
  1. 2750 628
2750 628
  • この場合、風向は 275275 度、風程は 11 分あたり 628m628{\rm m} である。

出力例 1

Copy
  1. W 5
W 5
  • 275275 度は西向きなので、Wと出力する。
  • 11 分で628m628{\rm m}ということは、10.46m/s10.46{\rm m}/{\rm s}なので、小数第 22 位を四捨五入して10.5m/s10.5{\rm m}/{\rm s}となり、風力 55 に相当する。

入力例 2

Copy
  1. 161 8
161 8

出力例 2

Copy
  1. C 0
C 0
  • 風向は本来NNEだが、風力 00 であるためCとする。

入力例 3

Copy
  1. 3263 15
3263 15

出力例 3

Copy
  1. NNW 1
NNW 1
  • 浮動小数点数型での計算は、誤差が発生する恐れがあります。
  • 環境によって計算結果が変わることもありますので、誤差には十分注意しましょう。

入力例 4

Copy
  1. 1462 1959
1462 1959

出力例 4

Copy
  1. SE 12
SE 12
  • 誤差には十分注意しましょう。

入力例 5

Copy
  1. 1687 1029
1687 1029

出力例 5

Copy
  1. SSE 8
SSE 8
  • 誤差には十分注意しましょう。

入力例 6

Copy
  1. 2587 644
2587 644

出力例 6

Copy
  1. WSW 5
WSW 5
  • 誤差には十分注意しましょう。

入力例 7

Copy
  1. 113 201
113 201

出力例 7

Copy
  1. NNE 3
NNE 3
  • 誤差には十分注意しましょう。

入力例 8

Copy
  1. 2048 16
2048 16

出力例 8

Copy
  1. SSW 1
SSW 1


2025-04-26 (Sat)
22:32:14 +00:00