Coding_Gamesメモ_Coding_Gamesメモ_Robot_show
javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:
System.err.println( );
を使うとデバックしやすくなる。(エラー出力は評価に影響しない)
内容
障害物にぶつかると反対方向に進むN 個のロボットが、長さLの直線通路から抜けるのにかかる最大時間を計算する
ルール
- L フィートの直線通路にN 個のロボットが配置されている
- ロボットは1 フィート/1 秒 の速度で移動する
- ロボットは障害物(他のロボット)にぶつかると瞬時に進行方向が変わる
- ロボットの大きさは計算上無視できるほど小さい
- 各ロボットが最初にどの方向に進むか不明
インプット
1行目 通路の長さ L
2行目 ロボットの数 N
3行目 ロボットの初期位置 スペース区切りでN 個
アウトプット
すべてのロボットが通路から抜けるために必要な最大時間(秒)
使用したクラス
時間とロボットの位置だけを見ると、すれ違いを行い、それぞれ直進している状態と同じ考え方
- ロボットは1 フィート/1 秒 の速度で移動する
ロボットが他のロボットに追いついて方向転換をすることはない
Coding_Games:https://www.codingame.com/