Submission #36416984


Source Code Expand

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));
        }
    }
}

Submission Info

Submission Time
Task C - Ladder Takahashi
User AconCavy
Language C# (.NET Core 3.1.201)
Score 300
Code Size 3751 Byte
Status AC
Exec Time 362 ms
Memory 72732 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 18
Set Name Test Cases
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
Case Name Status Exec Time Memory
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