結果
| 問題 | No.3719 Share the Tree |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-09-18 22:51:09 |
| 言語 | Nim (2.2.10 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 105 ms / 2,000 ms |
| + 1µs | |
| コード長 | 11,907 bytes |
| 記録 | |
| コンパイル時間 | 4,470 ms |
| コンパイル使用メモリ | 98,048 KB |
| 実行使用メモリ | 6,528 KB |
| 平均クエリ数 | 2.00 |
| 最終ジャッジ日時 | 2026-09-18 22:51:26 |
| 合計ジャッジ時間 | 8,665 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 26 |
ソースコード
template originalSource() =
# {.checks: off.}
include cplib/tmpl/citrus
import cplib/graph/graph
import cplib/tree/prufer
proc prufer_encode(g: UnWeightedUnDirectedGraph): seq[int] =
var ans = newSeq[int]()
var n = g.len
var d = newSeqWith(n, 0)
for u in 0..<n:
for v in g[u]:
if v > u: continue
d[u] += 1
d[v] += 1
var hq = initHeapQueue[int]()
var alr = newSeqWith(n, false)
for i in 0..<n:
if d[i] == 1:
hq.push(i)
alr[i] = true
for i in 0..<n-2:
var u = hq.pop
for v in g[u]:
if alr[v]: continue
ans.add(v)
d[v] -= 1
if d[v] == 1:
alr[v] = true
hq.push(v)
return ans
var s = input(string)
var n = input(int)
print(n - 2)
stdout.flushFile
if s == "Alice":
var g = initUnWeightedUnDirectedGraph(n)
for i in 0..<n-1:
var u, v = input(int) - 1
g.add_edge(u, v)
var a = prufer_encode(g)
print(a.mapIt(it+1))
stdout.flushFile
else:
var a = input(int, n-2)
var g = prufer_decode(a.mapit(it-1))
for u in 0..<n:
for v in g[u]:
if u < v:
print(u+1, v+1)
stdout.flushFile
# https://github.com/kemuniku/cplib
import macros;macro cplibRestore(s:static[string]):untyped = parseStmt(s)
cplibRestore("import base64\x0Amacro cplibUnpackSource(): untyped =\x0A # \xE3\x82\xB3\xE3\x83\xB3\xE3\x83\x91\xE3\x82\xA4\xE3\x83\xAB\xE6\x99\x82\xE3\x81\xAB\xE5\xB1\x95\xE9\x96\x8B\xE6\xB8\x88\xE3\x81\xBF\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE5\xBE\xA9\xE5\x85\x83\xE3\x81\x99\xE3\x82\x8B\xE3\x80\x82\x0A let z = decode(\"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\")\x0A var s = \"\"\x0A var i = 0\x0A while i < z.len:\x0A let f = ord(z[i])\x0A inc i\x0A for b in 0..<8:\x0A if i >= z.len: break\x0A if (f and (1 shl b)) == 0:\x0A s.add(z[i])\x0A inc i\x0A else:\x0A let d = ord(z[i])*256+ord(z[i+1])\x0A let n = ord(z[i+2])+3\x0A i += 3\x0A for j in 0..<n: s.add(s[s.len-d])\x0A result = parseStmt(s)\x0AcplibUnpackSource()\x0A")