提出 #32243464


ソースコード 拡げる

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

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

        public static void Solve()
        {
            var (N, M) = Scanner.Scan<int, int>();
            var G = new List<int>[N].Select(x => new List<int>()).ToArray();
            for (var i = 0; i < M; i++)
            {
                var (a, b) = Scanner.Scan<int, int>();
                a--; b--;
                G[a].Add(b);
                G[b].Add(a);
            }

            var Q = Scanner.Scan<int>();
            while (Q-- > 0)
            {
                var (x, k) = Scanner.Scan<int, int>();
                x--;
                var set = new HashSet<long>();
                var queue = new Queue<(int, int)>();
                set.Add(x);
                queue.Enqueue((x, 0));
                while (queue.Count > 0)
                {
                    var (u, d) = queue.Dequeue();
                    if(d == k) continue;
                    foreach (var v in G[u])
                    {
                        if (set.Contains(v)) continue;
                        set.Add(v);
                        queue.Enqueue((v, d + 1));
                    }
                }

                var answer = set.Sum() + set.Count;
                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));
        }
    }
}

提出情報

提出日時
問題 E - Small d and k
ユーザ AconCavy
言語 C# (.NET Core 3.1.201)
得点 500
コード長 3968 Byte
結果 AC
実行時間 1227 ms
メモリ 66272 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 500 / 500
結果
AC × 1
AC × 27
セット名 テストケース
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 01_srnd_05.txt, 01_srnd_06.txt, 01_srnd_07.txt, 01_srnd_08.txt, 01_srnd_09.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 03_kmax_00.txt, 03_kmax_01.txt, 03_kmax_02.txt, 03_kmax_03.txt, 04_btlike_00.txt, 04_btlike_01.txt, 04_btlike_02.txt, 05_fours_00.txt, 05_fours_01.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 104 ms 28424 KiB
01_srnd_00.txt AC 91 ms 28160 KiB
01_srnd_01.txt AC 86 ms 27980 KiB
01_srnd_02.txt AC 86 ms 28112 KiB
01_srnd_03.txt AC 95 ms 28080 KiB
01_srnd_04.txt AC 91 ms 28056 KiB
01_srnd_05.txt AC 87 ms 28116 KiB
01_srnd_06.txt AC 90 ms 27976 KiB
01_srnd_07.txt AC 84 ms 28160 KiB
01_srnd_08.txt AC 95 ms 28436 KiB
01_srnd_09.txt AC 99 ms 28184 KiB
02_rnd_00.txt AC 251 ms 53780 KiB
02_rnd_01.txt AC 257 ms 53712 KiB
02_rnd_02.txt AC 287 ms 54296 KiB
02_rnd_03.txt AC 362 ms 56552 KiB
02_rnd_04.txt AC 461 ms 58116 KiB
02_rnd_05.txt AC 737 ms 59540 KiB
02_rnd_06.txt AC 798 ms 60000 KiB
03_kmax_00.txt AC 595 ms 66272 KiB
03_kmax_01.txt AC 1127 ms 59796 KiB
03_kmax_02.txt AC 1134 ms 59696 KiB
03_kmax_03.txt AC 1227 ms 59952 KiB
04_btlike_00.txt AC 837 ms 60008 KiB
04_btlike_01.txt AC 935 ms 59572 KiB
04_btlike_02.txt AC 605 ms 60040 KiB
05_fours_00.txt AC 638 ms 60144 KiB
05_fours_01.txt AC 635 ms 59672 KiB