結果
問題 | No.1010 折って重ねて |
ユーザー |
|
提出日時 | 2020-03-28 22:41:04 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,205 bytes |
コンパイル時間 | 2,875 ms |
コンパイル使用メモリ | 114,320 KB |
実行使用メモリ | 81,116 KB |
最終ジャッジ日時 | 2025-01-02 12:21:01 |
合計ジャッジ時間 | 26,995 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 WA * 6 TLE * 7 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; public class P1010 { public static void Main() { var xyh = Console.ReadLine().Trim().Split(' ').Select(int.Parse).ToList(); var x = xyh[0] * 1000.0; var y = xyh[1] * 1000.0; var h = xyh[2]; var cands = new Queue<(double, double, int, int)>(); var used = new HashSet<(double, double, int, int)>(); var target = (x: x, y: y, h: h, count: 0); cands.Enqueue(target); used.Add(target); while (cands.Count() > 0) { target = cands.Dequeue(); if(target.x > target.h) { var next = (target.x / 2, target.y, target.h * 2, target.count+1); if(!cands.Contains(next)) { cands.Enqueue(next); used.Add(next); } } if(target.y > target.h) { var next = (target.x, target.y / 2, target.h * 2, target.count+1); if(!cands.Contains(next)) { cands.Enqueue(next); used.Add(next); } } } Console.WriteLine(target.count); } }