提出 #36416984


ソースコード 拡げる

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Numerics;

namespace Tasks
{
    public class C
    {
        public static void Main()
        {
            using var sw = new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false };
            Console.SetOut(sw);
            Solve();
            Console.Out.Flush();
        }

        public static void Solve()
        {
            var N = Scanner.Scan<int>();
            var G = new Dictionary<int, List<int>>();
            for (var i = 0; i < N; i++)
            {
                var (a, b) = Scanner.Scan<int, int>();
                if (!G.ContainsKey(a)) G[a] = new List<int>();
                if (!G.ContainsKey(b)) G[b] = new List<int>();
                G[a].Add(b);
                G[b].Add(a);
            }

            var used = new HashSet<int> { 1 };
            var queue = new Queue<int>();
            queue.Enqueue(1);
            while (queue.Count > 0)
            {
                var u = queue.Dequeue();
                if (!G.ContainsKey(u)) continue;
                foreach (var v in G[u])
                {
                    if (used.Contains(v)) continue;
                    used.Add(v);
                    queue.Enqueue(v);
                }
            }

            var answer = used.Max();
            Console.WriteLine(answer);
        }

        public static class Scanner
        {
            public static string ScanLine() => Console.ReadLine()?.Trim() ?? string.Empty;
            public static string[] Scan() => ScanLine().Split(' ');
            public static T Scan<T>() where T : IConvertible => Convert<T>(Scan()[0]);
            public static (T1, T2) Scan<T1, T2>() where T1 : IConvertible where T2 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]));
            }
            public static (T1, T2, T3) Scan<T1, T2, T3>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]));
            }
            public static (T1, T2, T3, T4) Scan<T1, T2, T3, T4>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]));
            }
            public static (T1, T2, T3, T4, T5) Scan<T1, T2, T3, T4, T5>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]));
            }
            public static (T1, T2, T3, T4, T5, T6) Scan<T1, T2, T3, T4, T5, T6>() where T1 : IConvertible where T2 : IConvertible where T3 : IConvertible where T4 : IConvertible where T5 : IConvertible where T6 : IConvertible
            {
                var line = Scan();
                return (Convert<T1>(line[0]), Convert<T2>(line[1]), Convert<T3>(line[2]), Convert<T4>(line[3]), Convert<T5>(line[4]), Convert<T6>(line[5]));
            }
            public static IEnumerable<T> ScanEnumerable<T>() where T : IConvertible => Scan().Select(Convert<T>);
            private static T Convert<T>(string value) where T : IConvertible => (T)System.Convert.ChangeType(value, typeof(T));
        }
    }
}

提出情報

提出日時
問題 C - Ladder Takahashi
ユーザ AconCavy
言語 C# (.NET Core 3.1.201)
得点 300
コード長 3751 Byte
結果 AC
実行時間 362 ms
メモリ 72732 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 18
セット名 テストケース
Sample example0.txt, example1.txt, example2.txt
All example0.txt, example1.txt, example2.txt, handmade0.txt, handmade1.txt, handmade2.txt, killer0.txt, killer1.txt, killer2.txt, killer3.txt, killer4.txt, killer5.txt, killer6.txt, random0.txt, random1.txt, random2.txt, random3.txt, random4.txt
ケース名 結果 実行時間 メモリ
example0.txt AC 83 ms 28324 KiB
example1.txt AC 84 ms 28108 KiB
example2.txt AC 86 ms 28324 KiB
handmade0.txt AC 80 ms 28392 KiB
handmade1.txt AC 84 ms 27988 KiB
handmade2.txt AC 79 ms 27920 KiB
killer0.txt AC 362 ms 72732 KiB
killer1.txt AC 251 ms 60576 KiB
killer2.txt AC 213 ms 56348 KiB
killer3.txt AC 275 ms 61488 KiB
killer4.txt AC 257 ms 61360 KiB
killer5.txt AC 330 ms 71512 KiB
killer6.txt AC 185 ms 47796 KiB
random0.txt AC 255 ms 57736 KiB
random1.txt AC 199 ms 55028 KiB
random2.txt AC 266 ms 58368 KiB
random3.txt AC 194 ms 51068 KiB
random4.txt AC 318 ms 61148 KiB