Submission #1197896


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));
                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])
                    {
                        if (maxUsedDistance[edge] >= rest - 1) { continue; }
                        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 0
Code Size 2692 Byte
Status WA
Exec Time 473 ms
Memory 48412 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 200 0 / 500
Status
WA × 2
AC × 7
WA × 12
AC × 11
WA × 24
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 WA 30 ms 13652 KB
00_example_02.txt WA 30 ms 11604 KB
10_01.txt WA 31 ms 9556 KB
10_02.txt AC 30 ms 13652 KB
10_03.txt AC 30 ms 13652 KB
10_04.txt AC 30 ms 9556 KB
10_05.txt WA 32 ms 11584 KB
10_06.txt AC 30 ms 11604 KB
10_07.txt AC 30 ms 9628 KB
10_08.txt WA 36 ms 9624 KB
10_09.txt WA 36 ms 11568 KB
10_10.txt WA 36 ms 11568 KB
10_11.txt WA 36 ms 11568 KB
10_12.txt WA 36 ms 9624 KB
10_13.txt WA 34 ms 13680 KB
10_14.txt WA 32 ms 9592 KB
10_15.txt WA 32 ms 9592 KB
10_16.txt AC 37 ms 9568 KB
10_17.txt AC 36 ms 11616 KB
20_01.txt WA 450 ms 33232 KB
20_02.txt WA 457 ms 33360 KB
20_03.txt WA 461 ms 31192 KB
20_04.txt AC 88 ms 19668 KB
20_05.txt WA 39 ms 13708 KB
20_06.txt WA 68 ms 24312 KB
20_07.txt WA 40 ms 11648 KB
20_08.txt AC 136 ms 20292 KB
20_09.txt WA 39 ms 15756 KB
20_10.txt WA 141 ms 22084 KB
20_11.txt WA 168 ms 21308 KB
20_12.txt WA 223 ms 27548 KB
20_13.txt WA 369 ms 34792 KB
20_14.txt WA 383 ms 32304 KB
20_15.txt AC 427 ms 42896 KB
20_16.txt AC 473 ms 48412 KB