結果
問題 |
No.92 逃走経路
|
ユーザー |
![]() |
提出日時 | 2021-05-18 07:45:18 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,635 bytes |
コンパイル時間 | 994 ms |
コンパイル使用メモリ | 111,084 KB |
実行使用メモリ | 362,392 KB |
最終ジャッジ日時 | 2024-10-08 01:31:43 |
合計ジャッジ時間 | 13,581 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 2 |
other | TLE * 1 -- * 17 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System.Linq; using System.Collections.Generic; using System; public class Edge { public int to { get; set; } public int fee { get; set; } } public class Hello { static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var n = int.Parse(line[0]); var m = int.Parse(line[1]); var k = int.Parse(line[2]); var aa = new List<Edge>[n]; for (int i = 0; i < n; i++) aa[i] = new List<Edge>(); for (int i = 0; i < m; i++) { line = Console.ReadLine().Trim().Split(' '); var a = int.Parse(line[0]) - 1; var b = int.Parse(line[1]) - 1; var c = int.Parse(line[2]); aa[a].Add(new Edge { to = b, fee = c }); aa[b].Add(new Edge { to = a, fee = c }); } getAns(n, m, aa); } static void getAns(int n, int m, List<Edge>[] aa) { string[] line = Console.ReadLine().Trim().Split(' '); var k = Array.ConvertAll(line, int.Parse); var ans = Enumerable.Range(0, n).ToList(); foreach (var x in k) { var ans2 = new List<int>(); foreach (var y in ans) { foreach (var z in aa[y]) { if (z.fee == x) ans2.Add(z.to); } } ans.Clear(); foreach (var y in ans2) ans.Add(y); } ans.Sort(); var ans3 = new List<int>(); foreach (var x in ans) ans3.Add(x + 1); Console.WriteLine(ans3.Count()); Console.WriteLine(string.Join(" ", ans3)); } }