結果
| 問題 | 
                            No.113 宝探し
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2019-07-30 15:34:24 | 
| 言語 | PHP  (843.2)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 39 ms / 5,000 ms | 
| コード長 | 1,603 bytes | 
| コンパイル時間 | 3,233 ms | 
| コンパイル使用メモリ | 31,760 KB | 
| 実行使用メモリ | 32,276 KB | 
| 最終ジャッジ日時 | 2024-11-16 22:07:26 | 
| 合計ジャッジ時間 | 5,147 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 23 | 
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php
/*
No.113 宝探し
問題文
A君は宝の地図を手に入れました。
地図には公園があり公園の中心に目印が書いてありました。
そして、そこからの移動方法が書いてありました。
書いてある文字に対応する移動方法は次のようになります。
・「N」は北に1メートル移動する。
・「E」は東に1メートル移動する。
・「W」は西に1メートル移動する。
・「S」は南に1メートル移動する。
例えば、「NE」と書いてあるなら北に1メートル歩いたのち東に1メートル歩きます。
その地点を掘れば宝が出てくるようです。
しかし、A君は移動方法の無駄に気づきました。
「NE」であれば北東の方向に12+12−−−−−−√=2–√メートルだけ移動すれば良さそうです。
A君は公園の中心から最短の距離で宝が埋まっている位置に移動したいです。
障害物にぶつかる可能性は無いとして、A君は何メートル移動する必要があるでしょうか?
入力
S
地図に書かれた文字列Sが1行で与えられる。
文字列Sの長さは1文字以上100文字以内である。
文字列は'N','E','W','S'の4文字のみから構成される。
*/
$input=str_split(trim(fgets(STDIN)));
$x=0;
$y=0;
foreach($input as $value){
  switch($value){
    case "N":
      $y++;
      break;
    case "S":
      $y--;
      break;
    case "E":
      $x++;
      break;
    case "W":
      $x--;
      break;
  }
}
echo round(sqrt(($x*$x)+($y*$y)),5);
?>