Submission #11620036
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"; } } } 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 | 4140 Byte |
Status | MLE |
Exec Time | 3780 ms |
Memory | 275968 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 | 24 ms | 11348 KB |
subtask_01_01.txt | AC | 585 ms | 15724 KB |
subtask_01_02.txt | AC | 24 ms | 11488 KB |
subtask_01_03.txt | AC | 922 ms | 16124 KB |
subtask_01_04.txt | AC | 992 ms | 18180 KB |
subtask_01_05.txt | AC | 76 ms | 15440 KB |
subtask_01_06.txt | AC | 75 ms | 15584 KB |
subtask_01_07.txt | AC | 955 ms | 15992 KB |
subtask_01_08.txt | AC | 940 ms | 16136 KB |
subtask_01_09.txt | AC | 24 ms | 11348 KB |
subtask_01_10.txt | AC | 24 ms | 11488 KB |
subtask_01_11.txt | AC | 899 ms | 15996 KB |
subtask_01_12.txt | AC | 940 ms | 16132 KB |
subtask_01_13.txt | AC | 756 ms | 17904 KB |
subtask_01_14.txt | AC | 26 ms | 11488 KB |
subtask_01_15.txt | AC | 904 ms | 15992 KB |
subtask_01_16.txt | AC | 953 ms | 14088 KB |
subtask_01_17.txt | MLE | 3780 ms | 275968 KB |
subtask_01_18.txt | AC | 634 ms | 17932 KB |