結果

問題 No.2385 Parse Integer with Radix
ユーザー fairy_lettucefairy_lettuce
提出日時 2023-07-22 00:54:24
言語 C#
(.NET 8.0.203)
結果
AC  
実行時間 62 ms / 2,000 ms
コード長 595 bytes
コンパイル時間 11,643 ms
コンパイル使用メモリ 167,264 KB
実行使用メモリ 184,632 KB
最終ジャッジ日時 2024-09-22 02:05:56
合計ジャッジ時間 13,126 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 54 ms
30,692 KB
testcase_01 AC 52 ms
30,720 KB
testcase_02 AC 53 ms
30,336 KB
testcase_03 AC 53 ms
30,592 KB
testcase_04 AC 54 ms
30,592 KB
testcase_05 AC 62 ms
30,592 KB
testcase_06 AC 54 ms
30,464 KB
testcase_07 AC 54 ms
30,976 KB
testcase_08 AC 54 ms
30,592 KB
testcase_09 AC 55 ms
30,592 KB
testcase_10 AC 54 ms
30,336 KB
testcase_11 AC 53 ms
184,632 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (102 ms)。
MSBuild のバージョン 17.9.6+a4ecab324 (.NET)
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

using System;
using System.Collections.Generic;

var q = int.Parse(Console.ReadLine());
var prefix = new Dictionary<string, int>()
{
	{ "0b", 2 },
	{ "0o", 8 },
	{ "0x", 16 }
};

// 8進数ない
// あと **リテラルでは** 0b, 0x を使えるのに文字列パースでは使えない
// なんやねんこの言語...
while (q-- > 0)
{
	var s = Console.ReadLine();
	var ok = false;
	foreach (var (key, value) in prefix)
	{
		if (s.StartsWith(key))
		{
			Console.WriteLine(Convert.ToInt64(s.Substring(2), value));
			ok = true;
		}
	}
	if (!ok)
	{
		Console.WriteLine(long.Parse(s));
	}
}
0