【座標系での向きの変わる移動】STEP: 3 座標系での移動・向き (paizaランク B 相当) 解答例 – PHP編【Aランクレベルアップメニュー】
【Aランクレベルアップメニュー】 > 【座標系での向きの変わる移動】STEP: 3 座標系での移動・向き (paizaランク B 相当)
※リンク先へ移動する為には「paiza」へのログインが必要です。
多少ごり押し感はありますが、向いている向きとL、Rに対応するx座標とy座標の増減を条件分岐を設定すれば答えを導くことができます。
これ本当もっといい方法ありそうなんだけど思いつかないなぁ。
解答例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<?php $input = explode(" ",trim(fgets(STDIN))); $y = $input[0]; $x = $input[1]; $muki = $input[2]; $idou = trim(fgets(STDIN)); if($muki == "N" && $idou == "R"){ $x++; } elseif ($muki == "N" && $idou == "L") { $x--; } if($muki == "S" && $idou == "R"){ $x--; } elseif ($muki == "S" && $idou == "L") { $x++; } if($muki == "E" && $idou == "R"){ $y++; } elseif ($muki == "E" && $idou == "L") { $y--; } if($muki == "W" && $idou == "R"){ $y--; } elseif ($muki == "W" && $idou == "L") { $y++; } echo $y." ".$x; ?> |
