Submission #11620846
Source Code Expand
using AtCoderTypicalContest001.Questions; using AtCoderTypicalContest001.Extensions; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; namespace AtCoderTypicalContest001.Questions { public class QuestionB : AtCoderQuestionBase { int[] _parents = null; public override IEnumerable<object> Solve(TextReader inputStream) { var nq = inputStream.ReadIntArray(); var n = nq[0]; var q = nq[1]; _parents = InitializeParents(n); for (int i = 0; i < q; i++) { var pab = inputStream.ReadIntArray(); var p = pab[0]; var a = pab[1]; var b = pab[2]; if (p == 0) { Unite(a, b); } else { yield return IsInSameGroup(a, b) ? "Yes" : "No"; } if (i % 10000 == 9999) { GC.Collect(); } } } int[] InitializeParents(int n) { var r = new int[n]; for (int i = 0; i < r.Length; i++) { r[i] = i; } return r; } void Unite(int x, int y) { var parentX = _parents[x]; var parentY = _parents[y]; if (parentX != parentY) { _parents[x] = parentY; } } int FindRoot(int x) { if (_parents[x] == x) { return x; } else { _parents[x] = FindRoot(_parents[x]); return _parents[x]; } } bool IsInSameGroup(int x, int y) => FindRoot(x) == FindRoot(y); } } namespace AtCoderTypicalContest001 { class Program { static void Main(string[] args) { IAtCoderQuestion question = new QuestionB(); // 問題に合わせて書き換え var answers = question.Solve(Console.In); foreach (var answer in answers) { Console.WriteLine(answer); } } } } #region Base Classes namespace AtCoderTypicalContest001.Questions { public interface IAtCoderQuestion { IEnumerable<object> Solve(string input); IEnumerable<object> Solve(TextReader inputStream); } public abstract class AtCoderQuestionBase : IAtCoderQuestion { public IEnumerable<object> Solve(string input) { var stream = new MemoryStream(Encoding.Unicode.GetBytes(input)); var reader = new StreamReader(stream, Encoding.Unicode); return Solve(reader); } public abstract IEnumerable<object> Solve(TextReader inputStream); } } #endregion #region Extensions namespace AtCoderTypicalContest001.Extensions { internal static class TextReaderExtensions { internal static int ReadInt(this TextReader reader) => int.Parse(ReadString(reader)); internal static long ReadLong(this TextReader reader) => long.Parse(ReadString(reader)); internal static double ReadDouble(this TextReader reader) => double.Parse(ReadString(reader)); internal static string ReadString(this TextReader reader) => reader.ReadLine(); internal static int[] ReadIntArray(this TextReader reader, char separator = ' ') => ReadStringArray(reader, separator).Select(int.Parse).ToArray(); internal static long[] ReadLongArray(this TextReader reader, char separator = ' ') => ReadStringArray(reader, separator).Select(long.Parse).ToArray(); internal static double[] ReadDoubleArray(this TextReader reader, char separator = ' ') => ReadStringArray(reader, separator).Select(double.Parse).ToArray(); internal static string[] ReadStringArray(this TextReader reader, char separator = ' ') => reader.ReadLine().Split(separator); } } #endregion
Submission Info
Submission Time | |
---|---|
Task | B - Union Find |
User | terry_u16 |
Language | C# (Mono 4.6.2.0) |
Score | 0 |
Code Size | 4255 Byte |
Status | MLE |
Exec Time | 3778 ms |
Memory | 278008 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 100 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt |
All | 00_sample_01.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 23 ms | 9300 KB |
subtask_01_01.txt | AC | 578 ms | 15764 KB |
subtask_01_02.txt | AC | 24 ms | 11488 KB |
subtask_01_03.txt | AC | 903 ms | 14180 KB |
subtask_01_04.txt | AC | 936 ms | 18184 KB |
subtask_01_05.txt | AC | 76 ms | 17480 KB |
subtask_01_06.txt | AC | 74 ms | 15584 KB |
subtask_01_07.txt | AC | 940 ms | 15972 KB |
subtask_01_08.txt | AC | 948 ms | 14096 KB |
subtask_01_09.txt | AC | 24 ms | 11348 KB |
subtask_01_10.txt | AC | 23 ms | 11488 KB |
subtask_01_11.txt | AC | 909 ms | 18020 KB |
subtask_01_12.txt | AC | 951 ms | 16136 KB |
subtask_01_13.txt | AC | 757 ms | 17924 KB |
subtask_01_14.txt | AC | 26 ms | 11488 KB |
subtask_01_15.txt | AC | 947 ms | 15972 KB |
subtask_01_16.txt | AC | 970 ms | 18184 KB |
subtask_01_17.txt | MLE | 3778 ms | 278008 KB |
subtask_01_18.txt | AC | 639 ms | 15892 KB |