結果
問題 | No.483 マッチ並べ |
ユーザー |
|
提出日時 | 2017-04-11 19:02:25 |
言語 | JavaScript (node v23.5.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,269 bytes |
コンパイル時間 | 68 ms |
コンパイル使用メモリ | 5,120 KB |
実行使用メモリ | 39,680 KB |
最終ジャッジ日時 | 2024-10-13 00:07:01 |
合計ジャッジ時間 | 5,092 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 WA * 17 |
ソースコード
let input = require("fs").readFileSync("/dev/stdin", "utf8").split("\n"); let n = +input.shift(); let graph = new Map(); for (let i = 0; i < n; i++) { let line = input.shift().split(" "); let r0 = +line[0]; let c0 = +line[1]; let r1 = +line[2]; let c1 = +line[3]; let p0 = r0 + "," + c0; let p1 = r1 + "," + c1; let es; if (!graph.has(p0)) { es = new Set(); } else { es = graph.get(p0); } es.add(p1); graph.set(p0, es); if (!graph.has(p1)) { es = new Set(); } else { es = graph.get(p1); } es.add(p0); graph.set(p1, es); } // edgeの数が1しかない点を削除 for (let [key, p] of graph) { if (p.size == 1) { let edge_to = p.values().next().value; graph.delete(key); if (graph.get(edge_to).size == 1) { graph.delete(edge_to); } else { graph.get(edge_to).delete(key); } } } if (graph.size == 0) { console.log("YES"); } else { let flg_no = false; for (let [key, p] of graph) { if (p.size > 2) { flg_no = true; break; } } if (flg_no) { console.log("NO"); } else { console.log("YES"); } }