結果
| 問題 |
No.488 四角関係
|
| コンテスト | |
| ユーザー |
t8m8⛄️
|
| 提出日時 | 2017-04-28 13:06:44 |
| 言語 | Nim (2.2.0) |
| 結果 |
AC
|
| 実行時間 | 59 ms / 5,000 ms |
| コード長 | 1,136 bytes |
| コンパイル時間 | 3,386 ms |
| コンパイル使用メモリ | 66,168 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-06-30 01:10:25 |
| 合計ジャッジ時間 | 4,664 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 22 |
ソースコード
import strutils, sequtils
var start = -1
proc f(g: seq[seq[int]]; i, j, k, l: var int, cur: int, a: seq[int]): bool =
var flag = i >= 0 and j >= 0 and k >= 0 and l >= 0
if flag: start = cur
if cur == i: i = -1
if cur == j: j = -1
if cur == k: k = -1
if cur == l: l = -1
if i < 0 and j < 0 and k < 0 and l < 0:
if start in g[cur]: return true
else: return false
var
next = -1
cnt = 0
for to in g[cur]:
if to in [i, j, k, l]:
if next < 0:
next = to
if to in a: cnt.inc
if cnt > 2: return false
if next < 0: return false
return f(g, i, j, k, l, next, a)
when isMainModule:
var
input = stdin.readline.split.map(parseint)
(n, m) = (input[0], input[1])
g = newSeqWith(n, newSeq[int]())
for i in 0..m-1:
var
e = stdin.readline.split.map(parseint)
(a, b) = (e[0], e[1])
g[a].add(b)
g[b].add(a)
var ans = 0
for i in 0..n-1:
for j in i+1..n-1:
for k in j+1..n-1:
for l in k+1..n-1:
var (I, J, K, L) = (i, j, k, l)
if f(g, I, J, K, L, i, @[i, j, k, l]):
ans.inc
echo ans
t8m8⛄️