結果
| 問題 |
No.113 宝探し
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-01-06 11:22:48 |
| 言語 | PHP (843.2) |
| 結果 |
AC
|
| 実行時間 | 43 ms / 5,000 ms |
| コード長 | 891 bytes |
| コンパイル時間 | 2,452 ms |
| コンパイル使用メモリ | 31,248 KB |
| 実行使用メモリ | 31,616 KB |
| 最終ジャッジ日時 | 2024-11-16 21:43:53 |
| 合計ジャッジ時間 | 2,171 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 23 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php
$in = trim(fgets(STDIN));
$ns = 0;
$ew = 0;
try {
// 入力文字の解析
// 立っている位置から東西南北に何メートル移動すればいいか計算します
// 北行ってから南に行くような場合を考慮しましょう
for ( $i = 0; $i < strlen($in); $i++ ) {
switch ( $in[$i] ) {
case 'N':
$ns += 1;
break;
case 'S':
$ns -= 1;
break;
case 'E':
$ew += 1;
break;
case 'W':
$ew -= 1;
break;
default:
throw new Exception("想定しない入力文字を検知しました。");
break;
}
}
// 東西南北の移動を絶対値にします
$ns = abs($ns);
$ew = abs($ew);
// ユークリッド距離を求めます
$di = sqrt(pow($ns, 2)+pow($ew, 2));
echo $di.PHP_EOL;
}
catch (Exception $e) {
echo '0'.PHP_EOL;
fprintf(STDERR, "実行時エラー: ".$e->getMessage().PHP_EOL);
exit(1);
}