結果
問題 | No.1010 折って重ねて |
ユーザー |
|
提出日時 | 2023-04-25 00:50:17 |
言語 | C# (.NET 8.0.404) |
結果 |
AC
|
実行時間 | 63 ms / 2,000 ms |
コード長 | 1,186 bytes |
コンパイル時間 | 12,586 ms |
コンパイル使用メモリ | 168,476 KB |
実行使用メモリ | 185,884 KB |
最終ジャッジ日時 | 2024-11-09 01:01:17 |
合計ジャッジ時間 | 16,960 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
コンパイルメッセージ
復元対象のプロジェクトを決定しています... /home/judge/data/code/main.csproj を復元しました (105 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/
ソースコード
using System; using System.Collections.Generic; using System.Linq; class P1010 { static void Main(string[] args) { var xyh = Console.ReadLine().Split(" ").Select(Int64.Parse).ToArray(); var x = xyh[0] * 1000; var y = xyh[1] * 1000; var h = xyh[2]; var items = new HashSet<(Int64, Int64, Int64)>(); items.Add((x, y, h)); var cnt = -1; while (items.Count() > 0) { cnt += 1; var nextItems = new HashSet<(Int64, Int64, Int64)>(); foreach (var (cx, cy, ch) in items) { if (cx > ch) { if (cx % 2 == 0) { nextItems.Add((cx / 2, cy, 2 * ch)); } else { nextItems.Add((cx, 2 * cy, 4 * ch)); } } if (cy > ch) { if (cy % 2 == 0) { nextItems.Add((cx, cy / 2, 2 * ch)); } else { nextItems.Add((2 * cx, cy, 4 * ch)); } } } items = nextItems; } Console.WriteLine(cnt); } }