Submission #7963674
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using BitArray = System.Collections.BitArray; using BigInteger = System.Numerics.BigInteger; using TextReader = System.IO.TextReader; using System.Text; namespace AtCoderProject { public class Program { public object Calc() { var N = consoleReader.Int; var M = consoleReader.Int; var voyage1 = new HashSet<int>(); var voyage2 = new HashSet<int>(); foreach (var cr in consoleReader.Repeat(M)) { var a = cr.Int; var b = cr.Int; if (a == 1) voyage1.Add(b); if (b == N) voyage2.Add(a); } voyage1.IntersectWith(voyage2); return voyage1.Count > 0 ? "POSSIBLE" : "IMPOSSIBLE"; } #region いつもの #pragma warning disable private ConsoleReader consoleReader; public Program(ConsoleReader consoleReader) { this.consoleReader = consoleReader; } static void Main() => Console.WriteLine(new Program(new ConsoleReader(Console.In)).Calc()); static string AllLines<T>(IEnumerable<T> source) => string.Join("\n", source); } static class Ext { public static Dictionary<TKey, int> GroupCount<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector) => source.GroupBy(keySelector).ToDictionary(g => g.Key, g => g.Count()); public static Dictionary<TKey, int> GroupCount<TKey>(this IEnumerable<TKey> source) => source.GroupCount(i => i); } public class ConsoleReader { private string[] ReadLineSplit() => textReader.ReadLine().Split(Array.Empty<char>(), StringSplitOptions.RemoveEmptyEntries); private string[] line = Array.Empty<string>(); private int linePosition; private TextReader textReader; public ConsoleReader(TextReader tr) { textReader = tr; } public int Int => int.Parse(String); public long Long => long.Parse(String); public double Double => double.Parse(String); public string String { get { if (linePosition >= line.Length) { linePosition = 0; line = ReadLineSplit(); } return line[linePosition++]; } } public class SplitLine { private string[] splited; public SplitLine(ConsoleReader cr) { splited = cr.ReadLineSplit(); cr.line = Array.Empty<string>(); } public int[] Int => String.Select(x => int.Parse(x)).ToArray(); public int[] Int0 => String.Select(x => int.Parse(x) - 1).ToArray(); public long[] Long => String.Select(x => long.Parse(x)).ToArray(); public double[] Double => String.Select(x => double.Parse(x)).ToArray(); public string[] String => splited; } public SplitLine Split => new SplitLine(this); public class RepeatReader : IEnumerable<ConsoleReader> { ConsoleReader cr; int count; public RepeatReader(ConsoleReader cr, int count) { this.cr = cr; this.count = count; } public IEnumerator<ConsoleReader> GetEnumerator() => Enumerable.Repeat(cr, count).GetEnumerator(); System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() => GetEnumerator(); public IEnumerable<string> String => this.Select(cr => cr.String); public IEnumerable<int> Int => this.Select(cr => cr.Int); public IEnumerable<int> Int0 => this.Select(cr => cr.Int - 1); public IEnumerable<long> Long => this.Select(cr => cr.Long); public IEnumerable<double> Double => this.Select(cr => cr.Double); } public RepeatReader Repeat(int count) => new RepeatReader(this, count); } #endregion }
Submission Info
Submission Time | |
---|---|
Task | C - Cat Snuke and a Voyage |
User | kzrnm |
Language | C# (Mono 4.6.2.0) |
Score | 300 |
Code Size | 3502 Byte |
Status | AC |
Exec Time | 224 ms |
Memory | 21556 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | example0, example1, example2, example3 |
All | example0, example1, example2, example3, last0, last1, many0, many1, rand0, rand1, rand2 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
example0 | AC | 24 ms | 11348 KB |
example1 | AC | 24 ms | 11348 KB |
example2 | AC | 24 ms | 13396 KB |
example3 | AC | 24 ms | 11348 KB |
last0 | AC | 209 ms | 17572 KB |
last1 | AC | 210 ms | 15524 KB |
many0 | AC | 224 ms | 21556 KB |
many1 | AC | 221 ms | 21556 KB |
rand0 | AC | 141 ms | 15420 KB |
rand1 | AC | 206 ms | 13480 KB |
rand2 | AC | 129 ms | 15428 KB |