結果
問題 | No.405 ローマ数字の腕時計 |
ユーザー | ccc |
提出日時 | 2022-08-22 18:19:43 |
言語 | C# (.NET 8.0.203) |
結果 |
AC
|
実行時間 | 53 ms / 2,000 ms |
コード長 | 2,242 bytes |
コンパイル時間 | 7,487 ms |
コンパイル使用メモリ | 167,884 KB |
実行使用メモリ | 183,856 KB |
最終ジャッジ日時 | 2024-10-10 06:39:31 |
合計ジャッジ時間 | 9,788 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 51 ms
28,928 KB |
testcase_01 | AC | 51 ms
28,544 KB |
testcase_02 | AC | 51 ms
28,800 KB |
testcase_03 | AC | 51 ms
29,056 KB |
testcase_04 | AC | 53 ms
28,800 KB |
testcase_05 | AC | 52 ms
28,800 KB |
testcase_06 | AC | 53 ms
28,672 KB |
testcase_07 | AC | 52 ms
28,672 KB |
testcase_08 | AC | 51 ms
28,544 KB |
testcase_09 | AC | 53 ms
28,544 KB |
testcase_10 | AC | 52 ms
28,544 KB |
testcase_11 | AC | 51 ms
29,184 KB |
testcase_12 | AC | 50 ms
29,184 KB |
testcase_13 | AC | 51 ms
29,184 KB |
testcase_14 | AC | 50 ms
28,928 KB |
testcase_15 | AC | 50 ms
28,544 KB |
testcase_16 | AC | 51 ms
29,056 KB |
testcase_17 | AC | 51 ms
28,544 KB |
testcase_18 | AC | 50 ms
28,544 KB |
testcase_19 | AC | 51 ms
28,652 KB |
testcase_20 | AC | 51 ms
28,672 KB |
testcase_21 | AC | 50 ms
28,672 KB |
testcase_22 | AC | 50 ms
28,672 KB |
testcase_23 | AC | 51 ms
28,924 KB |
testcase_24 | AC | 51 ms
28,544 KB |
testcase_25 | AC | 51 ms
28,928 KB |
testcase_26 | AC | 51 ms
183,856 KB |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (94 ms)。 MSBuild のバージョン 17.9.6+a4ecab324 (.NET) /home/judge/data/code/Main.cs(41,37): warning CS8509: この switch 式では入力型の可能な値がすべて扱われるわけではありません (すべてが網羅されているわけではありません)。たとえば、パターン '""' がカバーされていません。 [/home/judge/data/code/main.csproj] /home/judge/data/code/Main.cs(61,35): warning CS8509: この switch 式では入力型の可能な値がすべて扱われるわけではありません (すべてが網羅されているわけではありません)。たとえば、パターン '25' がカバーされていません。 [/home/judge/data/code/main.csproj] main -> /home/judge/data/code/bin/Release/net8.0/main.dll main -> /home/judge/data/code/bin/Release/net8.0/publish/
ソースコード
using System; using System.Linq; using System.Collections.Generic; using System.Text.RegularExpressions; class Program { static void Main() { /* * S1 : 短針の位置 * T : T時間後 */ var S1T = Console.ReadLine().Split(); var currentRomanTime = S1T[0]; var elapsedTime = S1T[1]; // ローマ数字は数字に変換 var currentTimeNum= ConvertRomanTime(currentRomanTime); // elapsedTimeにマイナスが含まれているか判定 if (elapsedTime.Contains("-")) { var replaceS1T1 = int.Parse(elapsedTime.Replace("-", "")); var _ans = (((currentTimeNum - replaceS1T1) % 24) + 24); _ans = (_ans > 24) ? _ans - 24 : _ans; Console.WriteLine(ConvertRomanNum(_ans)); } else { var tmp = int.Parse(elapsedTime); var _ans = ((currentTimeNum + tmp) % 24); Console.WriteLine(ConvertRomanNum(_ans)); } } public static int ConvertRomanTime(string str) { var converCurrentTime = str switch { "I" => 1, "II" => 2, "III" => 3, "IIII" => 4, "V" => 5, "VI" => 6, "VII" => 7, "VIII" => 8, "IX" => 9, "X" => 10, "XI" => 11, "XII" => 12 }; return converCurrentTime; } public static string ConvertRomanNum(int num) { var convertRomanNum = num switch { 0 => "XII", 1 => "I", 2 => "II", 3 => "III", 4 => "IIII", 5 => "V", 6 => "VI", 7 => "VII", 8 => "VIII", 9 => "IX", 10 => "X", 11 => "XI", 12 => "XII", 13 => "I", 14 => "II", 15 => "III", 16 => "IIII", 17 => "V", 18 => "VI", 19 => "VII", 20 => "VIII", 21 => "IX", 22 => "X", 23 => "XI", 24 => "XII" }; return convertRomanNum; } }