結果
問題 | No.113 宝探し |
ユーザー | SagToki |
提出日時 | 2018-05-16 17:13:08 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 127 ms / 5,000 ms |
コード長 | 1,756 bytes |
コンパイル時間 | 3,543 ms |
コンパイル使用メモリ | 77,628 KB |
実行使用メモリ | 41,292 KB |
最終ジャッジ日時 | 2024-11-16 21:55:39 |
合計ジャッジ時間 | 7,001 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 23 |
ソースコード
import java.util.Scanner; import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.InputMismatchException; public class TreasureHunt { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); try{ String S = scanner.next(); Pattern pattern = Pattern.compile("./[N|E|W|S]./"); Matcher matcher = pattern.matcher(S); if(matcher.find()){ System.out.println("文字列はN,E,W,Sの中から選択してください"); System.exit(0); } if(S.length() < 1 || S.length() > 100){ System.out.println("文字列の長さは1以上100以下で入力してください"); System.exit(0); } int X = 0; int Y = 0; char[] CS = S.toCharArray(); for(int i = 0 ; i < S.length() ; i++){ switch(CS[i]){ case 'N': Y++; break; case 'E': X++; break; case 'W': X--; break; case 'S': Y--; break; } } X = Math.abs(X); Y = Math.abs(Y); System.out.println(Math.pow(Math.pow(X,2) + Math.pow(Y, 2), 0.5)); }catch(InputMismatchException e){ System.out.println(""); }catch(Exception E){ System.out.println("想定外のエラーです"); } } }