結果
問題 | No.517 壊れたアクセサリー |
ユーザー |
|
提出日時 | 2019-01-27 15:16:30 |
言語 | Nim (2.2.0) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 936 bytes |
コンパイル時間 | 3,063 ms |
コンパイル使用メモリ | 64,852 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-01 11:02:10 |
合計ジャッジ時間 | 3,832 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 WA * 1 |
other | AC * 9 WA * 6 |
ソースコード
import sequtils,algorithm,tables template times*(n:int,body) = (for _ in 0..<n: body) proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "<stdio.h>" .} proc scan(): int = while true: let k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord var V = initTable[char,char]() proc scanCode(n:int) = n.times: var pre = getchar_unlocked() while true: let k = getchar_unlocked() if k < 'A' or k > 'Z' : if pre notin V : V[pre] = pre break if k notin V or V[pre] == pre : V[pre] = k pre = k scan().scanCode() scan().scanCode() if toSeq(V.pairs).filterIt(it[0] == it[1]).len >= 2: quit "-1",0 proc interpret(start:char):string = result = "" var i = start while true: result &= i if i == V[i] : return i = V[i] var answers = newSeq[string]() for k in V.keys: answers &= interpret(k) echo answers.sortedByIt(-it.len)[0]