Submission #1197876


Source Code Expand

using System;
using System.Collections.Generic;
using System.Linq;

namespace AGC012
{
    public class B
    {
        private void Run()
        {
            var input = Console.ReadLine().Trim().Split();
            var N = int.Parse(input[0]);
            var M = int.Parse(input[1]);

            var edges = Enumerable.Range(0, N).Select(_ => new List<int>()).ToArray();

            while (M-- > 0)
            {
                input = Console.ReadLine().Trim().Split();
                var a = int.Parse(input[0]) - 1;
                var b = int.Parse(input[1]) - 1;
                edges[a].Add(b);
                edges[b].Add(a);
            }

            var Q = int.Parse(Console.ReadLine().Trim());
            var queries = new List<Tuple<int, int, int>>();
            while (Q-- > 0)
            {
                input = Console.ReadLine().Trim().Split();
                var v = int.Parse(input[0]) - 1;
                var d = int.Parse(input[1]);
                var c = int.Parse(input[2]);
                queries.Add(Tuple.Create(v, d, c));
            }

            var color = new int[N];
            var maxUsedDistance = new int[N];
            foreach (var query in queries.AsEnumerable().Reverse())
            {
                var v = query.Item1;
                var d = query.Item2;
                var c = query.Item3;

                var q = new Queue<Tuple<int, int>>();
                q.Enqueue(Tuple.Create(v, d));
                var used = new bool[N];
                while (q.Count > 0)
                {
                    var t = q.Dequeue();
                    var index = t.Item1;
                    var rest = t.Item2;

                    if (color[index] == 0) { color[index] = c; }
                    if (rest == 0) { continue; }
                    if (maxUsedDistance[index] >= rest) { continue; }
                    maxUsedDistance[index] = rest;

                    foreach (var edge in edges[index])
                    {
                        q.Enqueue(Tuple.Create(edge, rest - 1));
                    }
                }
            }
            Console.WriteLine(string.Join(Environment.NewLine, color));
        }

        public static void Main()
        {
            var old = Console.Out;
            using (var writer = new System.IO.StreamWriter(Console.OpenStandardOutput()) { AutoFlush = false })
            {
                Console.SetOut(writer);
                new B().Run();
                Console.Out.Flush();
                Console.SetOut(old);
            }
        }
    }
}

Submission Info

Submission Time
Task B - Splatter Painting
User Tan90909090
Language C# (Mono 4.6.2.0)
Score 200
Code Size 2655 Byte
Status TLE
Exec Time 2115 ms
Memory 61532 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 200 / 200 0 / 500
Status
AC × 2
AC × 19
AC × 28
TLE × 7
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt
Subtask1 00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt
All 00_example_01.txt, 00_example_02.txt, 10_01.txt, 10_02.txt, 10_03.txt, 10_04.txt, 10_05.txt, 10_06.txt, 10_07.txt, 10_08.txt, 10_09.txt, 10_10.txt, 10_11.txt, 10_12.txt, 10_13.txt, 10_14.txt, 10_15.txt, 10_16.txt, 10_17.txt, 20_01.txt, 20_02.txt, 20_03.txt, 20_04.txt, 20_05.txt, 20_06.txt, 20_07.txt, 20_08.txt, 20_09.txt, 20_10.txt, 20_11.txt, 20_12.txt, 20_13.txt, 20_14.txt, 20_15.txt, 20_16.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 30 ms 13652 KB
00_example_02.txt AC 30 ms 11604 KB
10_01.txt AC 31 ms 9580 KB
10_02.txt AC 29 ms 9556 KB
10_03.txt AC 30 ms 13652 KB
10_04.txt AC 29 ms 11604 KB
10_05.txt AC 31 ms 9580 KB
10_06.txt AC 29 ms 9556 KB
10_07.txt AC 30 ms 11548 KB
10_08.txt AC 40 ms 17940 KB
10_09.txt AC 38 ms 15924 KB
10_10.txt AC 40 ms 20012 KB
10_11.txt AC 38 ms 15904 KB
10_12.txt AC 38 ms 13844 KB
10_13.txt AC 33 ms 11632 KB
10_14.txt AC 33 ms 13680 KB
10_15.txt AC 32 ms 9592 KB
10_16.txt AC 38 ms 18012 KB
10_17.txt AC 39 ms 20060 KB
20_01.txt TLE 2109 ms 50952 KB
20_02.txt TLE 2110 ms 50976 KB
20_03.txt TLE 2110 ms 50948 KB
20_04.txt AC 114 ms 32460 KB
20_05.txt AC 40 ms 15880 KB
20_06.txt AC 347 ms 39832 KB
20_07.txt AC 42 ms 17916 KB
20_08.txt AC 141 ms 25244 KB
20_09.txt AC 40 ms 17928 KB
20_10.txt AC 137 ms 24116 KB
20_11.txt AC 181 ms 20332 KB
20_12.txt AC 793 ms 42352 KB
20_13.txt TLE 2110 ms 47864 KB
20_14.txt TLE 2110 ms 50084 KB
20_15.txt TLE 2115 ms 61532 KB
20_16.txt TLE 2110 ms 55464 KB