結果
問題 | No.101 ぐるぐる!あみだくじ! |
ユーザー | 14番 |
提出日時 | 2016-04-12 01:24:26 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 6,196 bytes |
コンパイル時間 | 1,186 ms |
コンパイル使用メモリ | 115,156 KB |
実行使用メモリ | 54,660 KB |
最終ジャッジ日時 | 2024-10-04 06:58:25 |
合計ジャッジ時間 | 23,892 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 28 ms
26,668 KB |
testcase_01 | AC | 258 ms
54,660 KB |
testcase_02 | AC | 257 ms
52,340 KB |
testcase_03 | AC | 37 ms
23,356 KB |
testcase_04 | AC | 36 ms
25,516 KB |
testcase_05 | AC | 73 ms
31,628 KB |
testcase_06 | AC | 37 ms
27,376 KB |
testcase_07 | AC | 53 ms
29,584 KB |
testcase_08 | AC | 50 ms
29,432 KB |
testcase_09 | AC | 41 ms
23,344 KB |
testcase_10 | AC | 42 ms
27,268 KB |
testcase_11 | AC | 2,473 ms
31,740 KB |
testcase_12 | AC | 2,609 ms
31,768 KB |
testcase_13 | AC | 2,534 ms
29,608 KB |
testcase_14 | AC | 3,623 ms
31,748 KB |
testcase_15 | AC | 283 ms
29,588 KB |
testcase_16 | AC | 329 ms
31,504 KB |
testcase_17 | AC | 384 ms
31,632 KB |
testcase_18 | AC | 466 ms
29,696 KB |
testcase_19 | AC | 532 ms
31,636 KB |
testcase_20 | AC | 61 ms
33,544 KB |
testcase_21 | AC | 62 ms
31,652 KB |
testcase_22 | AC | 801 ms
29,580 KB |
testcase_23 | AC | 451 ms
31,640 KB |
testcase_24 | TLE | - |
testcase_25 | -- | - |
testcase_26 | -- | - |
testcase_27 | -- | - |
testcase_28 | -- | - |
testcase_29 | -- | - |
testcase_30 | -- | - |
testcase_31 | -- | - |
testcase_32 | -- | - |
testcase_33 | -- | - |
testcase_34 | -- | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
testcase_38 | -- | - |
testcase_39 | -- | - |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Text; using System.Linq; class Program { public void Proc() { Reader.IsDebug = false; int lineCount = int.Parse(Reader.ReadLine()); int inputCount = int.Parse(Reader.ReadLine()); Dictionary<int, int> dic = new Dictionary<int, int>(); List<int> numList = new List<int>(); int ans = lineCount; for (int i = 1; i <= lineCount; i++) { numList.Add(i-1); } List<AmidaLine> amidaList = new List<AmidaLine>(); for (int i = 0; i < inputCount; i++) { int[] inpt = Reader.GetInt(); AmidaLine al = new AmidaLine(inpt[0]-1, inpt[1]-1, i); amidaList.Add(al); } for (int i = 0; i < lineCount; i++) { int pos = -1; int idx = i; for (int j = 0; j < inputCount; j++) { List<AmidaLine> select = new List<AmidaLine>(amidaList.FindAll(a => (a.Line1 == idx || a.Line2 == idx) && a.Pos > pos).OrderBy(b => b.Pos)); if (select.Count == 0) { break; } pos = select[0].Pos; idx = select[0].Goto(idx); } dic.Add(i, idx); } int[] target = numList.ToArray(); int[] conv = new int[target.Length]; for (int i = 0; i < int.MaxValue; i++) { conv = new int[target.Length]; bool isMatch = true; for (int j = 0; j < target.Length; j++) { conv[dic[j]] = target[j]; if (isMatch && dic[j] != target[j]) { isMatch = false; } } target = conv; if (isMatch) { ans = i + 1; break; } } Console.WriteLine(ans); } public class AmidaLine { public int Line1; public int Line2; public int Pos; public int Goto(int from) { if (from == Line1) { return Line2; } return Line1; } public AmidaLine(int l1, int l2, int p) { this.Line2 = l2; this.Line1 = l1; this.Pos = p; } } public class Reader { public static bool IsDebug = true; private static String PlainInput = @" 100 449 99 100 89 90 71 72 7 8 9 10 92 93 7 8 80 81 96 97 31 32 62 63 13 14 29 30 16 17 35 36 96 97 23 24 37 38 54 55 88 89 31 32 38 39 88 89 63 64 68 69 95 96 1 2 13 14 4 5 2 3 34 35 13 14 14 15 93 94 60 61 46 47 90 91 2 3 26 27 79 80 65 66 47 48 40 41 69 70 34 35 90 91 96 97 15 16 31 32 55 56 96 97 48 49 27 28 79 80 26 27 58 59 1 2 84 85 4 5 14 15 81 82 34 35 67 68 89 90 80 81 6 7 26 27 91 92 8 9 95 96 91 92 21 22 92 93 82 83 61 62 98 99 7 8 40 41 37 38 31 32 23 24 94 95 60 61 52 53 82 83 77 78 90 91 84 85 58 59 47 48 90 91 43 44 26 27 78 79 30 31 50 51 95 96 39 40 15 16 70 71 35 36 67 68 58 59 1 2 50 51 15 16 99 100 18 19 38 39 66 67 91 92 10 11 19 20 16 17 66 67 63 64 45 46 70 71 56 57 58 59 71 72 37 38 94 95 43 44 73 74 99 100 83 84 36 37 54 55 17 18 27 28 69 70 45 46 14 15 22 23 92 93 71 72 27 28 35 36 2 3 63 64 51 52 63 64 10 11 27 28 16 17 25 26 91 92 77 78 98 99 32 33 5 6 33 34 70 71 63 64 71 72 33 34 38 39 16 17 1 2 72 73 22 23 19 20 24 25 23 24 90 91 96 97 65 66 45 46 97 98 13 14 87 88 12 13 58 59 19 20 91 92 21 22 56 57 8 9 55 56 52 53 35 36 58 59 57 58 87 88 87 88 6 7 6 7 94 95 61 62 30 31 40 41 18 19 82 83 15 16 36 37 99 100 64 65 68 69 22 23 67 68 82 83 17 18 25 26 19 20 65 66 68 69 40 41 40 41 73 74 97 98 43 44 38 39 80 81 67 68 11 12 84 85 8 9 9 10 81 82 93 94 58 59 83 84 87 88 69 70 97 98 54 55 98 99 51 52 3 4 94 95 21 22 25 26 80 81 24 25 35 36 73 74 37 38 32 33 54 55 37 38 3 4 15 16 87 88 38 39 34 35 32 33 98 99 96 97 98 99 37 38 92 93 6 7 61 62 81 82 91 92 78 79 27 28 87 88 31 32 15 16 22 23 44 45 2 3 48 49 61 62 44 45 89 90 13 14 22 23 40 41 64 65 78 79 77 78 80 81 38 39 42 43 40 41 47 48 46 47 73 74 60 61 76 77 71 72 57 58 95 96 95 96 8 9 27 28 97 98 69 70 28 29 49 50 37 38 69 70 79 80 12 13 90 91 51 52 86 87 75 76 74 75 9 10 42 43 59 60 53 54 31 32 19 20 31 32 62 63 5 6 76 77 95 96 39 40 77 78 56 57 32 33 60 61 83 84 93 94 58 59 3 4 65 66 41 42 14 15 84 85 87 88 63 64 61 62 81 82 8 9 50 51 60 61 17 18 37 38 56 57 89 90 8 9 84 85 4 5 75 76 47 48 82 83 92 93 20 21 48 49 85 86 57 58 26 27 44 45 44 45 42 43 68 69 70 71 29 30 14 15 32 33 10 11 64 65 45 46 13 14 94 95 71 72 64 65 59 60 34 35 15 16 54 55 10 11 77 78 80 81 44 45 62 63 9 10 95 96 9 10 23 24 30 31 87 88 89 90 29 30 62 63 7 8 17 18 68 69 73 74 73 74 83 84 50 51 45 46 81 82 47 48 89 90 61 62 28 29 51 52 36 37 49 50 28 29 84 85 14 15 56 57 80 81 80 81 91 92 60 61 62 63 76 77 27 28 70 71 15 16 8 9 49 50 25 26 21 22 44 45 59 60 91 92 72 73 30 31 8 9 8 9 83 84 48 49 18 19 16 17 1 2 32 33 48 49 37 38 66 67 23 24 44 45 27 28 67 68 85 86 14 15 48 49 82 83 4 5 56 57 64 65 36 37 21 22 97 98 4 5 91 92 16 17 56 57 "; private static System.IO.StringReader Sr = null; public static string ReadLine() { if (IsDebug) { if (Sr == null) { Sr = new System.IO.StringReader(PlainInput.Trim()); } return Sr.ReadLine(); } else { return Console.ReadLine(); } } public static int[] GetInt(char delimiter = ' ', bool trim = false) { string inptStr = ReadLine(); if (trim) { inptStr = inptStr.Trim(); } string[] inpt = inptStr.Split(delimiter); int[] ret = new int[inpt.Length]; for (int i = 0; i < inpt.Length; i++) { ret[i] = int.Parse(inpt[i]); } return ret; } } static void Main() { Program prg = new Program(); prg.Proc(); } }