結果
| 問題 |
No.583 鉄道同好会
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-10-31 00:24:37 |
| 言語 | Haskell (9.10.1) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 698 bytes |
| コンパイル時間 | 825 ms |
| コンパイル使用メモリ | 149,632 KB |
| 最終ジャッジ日時 | 2024-11-22 11:08:30 |
| 合計ジャッジ時間 | 1,314 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Loaded package environment from /home/judge/.ghc/x86_64-linux-9.8.2/environments/default
[1 of 2] Compiling Main ( Main.hs, Main.o )
Main.hs:2:1: error: [GHC-87110]
Could not load module ‘Data.Graph’.
It is a member of the hidden package ‘containers-0.6.8’.
Use -v to see a list of the files searched for.
|
2 | import Data.Graph
| ^^^^^^^^^^^^^^^^^
ソースコード
import Control.Monad
import Data.Graph
import Data.Bool
import Data.Tuple
import Data.List
import Data.Array
import qualified Data.ByteString.Char8 as B
main :: IO ()
main = do
[n, m] <- map read . words <$> getLine
es <- replicateM m $ (\[x, y] -> (x, y)) . map (maybe undefined fst . B.readInt) . B.words <$> B.getLine
putStrLn . bool "NO" "YES" $ solve n (es ++ map swap es)
solve :: Int -> [(Int, Int)] -> Bool
solve n [] = True
solve n es
| numOdd == 0 || numOdd == 2 = us == vs
| otherwise = False
where
g = buildG (0, n - 1) es
numOdd = length . filter odd . elems . outdegree $ g
vs = map head . group . sort . map fst $ es
us = sort . reachable g . head $ vs