結果
| 問題 |
No.452 横着者のビンゴゲーム
|
| コンテスト | |
| ユーザー |
t8m8⛄️
|
| 提出日時 | 2016-12-03 16:20:23 |
| 言語 | Nim (2.2.0) |
| 結果 |
AC
|
| 実行時間 | 2,565 ms / 3,000 ms |
| コード長 | 2,948 bytes |
| コンパイル時間 | 3,593 ms |
| コンパイル使用メモリ | 70,988 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-06-29 20:57:35 |
| 合計ジャッジ時間 | 23,000 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 41 |
コンパイルメッセージ
/home/judge/data/code/Main.nim(15, 11) Warning: Deprecated since v0.20, use 'initHashSet'; initSet is deprecated [Deprecated]
ソースコード
import strutils, sequtils, sets
when isMainModule:
var
tmp = stdin.readLine.split.map(parseInt)
(n, m) = (tmp[0], tmp[1])
a = newSeqWith(m, newSeqWith(n, newSeq[int](n)))
for i in 0..m-1:
for j in 0..n-1:
a[i][j] = stdin.readLine.split.map(parseInt)
var
min = 1 shl 30
cnt = initSet[int]()
for i in 0..m-1:
for j in i+1..m-1:
# yoko * yoko
for li in 0..n-1:
for lj in 0..n-1:
cnt.init
for ci in 0..n-1:
cnt.incl(a[i][li][ci])
for cj in 0..n-1:
cnt.incl(a[j][lj][cj])
min = min(min, cnt.len)
# tate * tate
for ci in 0..n-1:
for cj in 0..n-1:
cnt.init
for li in 0..n-1:
cnt.incl(a[i][li][ci])
for lj in 0..n-1:
cnt.incl(a[j][lj][cj])
min = min(min, cnt.len)
# yoko * tate
for li in 0..n-1:
for cj in 0..n-1:
cnt.init
for ci in 0..n-1:
cnt.incl(a[i][li][ci])
for lj in 0..n-1:
cnt.incl(a[j][lj][cj])
min = min(min, cnt.len)
# tate * yoko
for ci in 0..n-1:
for lj in 0..n-1:
cnt.init
for li in 0..n-1:
cnt.incl(a[i][li][ci])
for cj in 0..n-1:
cnt.incl(a[j][lj][cj])
min = min(min, cnt.len)
# naname * naname
for si in 0..1:
for sj in 0..1:
cnt.init
for k in 0..n-1:
if si == 0: cnt.incl(a[i][k][k])
else: cnt.incl(a[i][k][n-k-1])
for k in 0..n-1:
if sj == 0: cnt.incl(a[j][k][k])
else: cnt.incl(a[j][k][n-k-1])
min = min(min, cnt.len)
# yoko * naname
for li in 0..n-1:
for sj in 0..1:
cnt.init
for ci in 0..n-1:
cnt.incl(a[i][li][ci])
for k in 0..n-1:
if sj == 0: cnt.incl(a[j][k][k])
else: cnt.incl(a[j][k][n-k-1])
min = min(min, cnt.len)
# naname * yoko
for si in 0..1:
for lj in 0..n-1:
cnt.init
for k in 0..n-1:
if si == 0: cnt.incl(a[i][k][k])
else: cnt.incl(a[i][k][n-k-1])
for cj in 0..n-1:
cnt.incl(a[j][lj][cj])
min = min(min, cnt.len)
# tate * naname
for ci in 0..n-1:
for sj in 0..1:
cnt.init
for li in 0..n-1:
cnt.incl(a[i][li][ci])
for k in 0..n-1:
if sj == 0: cnt.incl(a[j][k][k])
else: cnt.incl(a[j][k][n-k-1])
min = min(min, cnt.len)
# naname * tate
for si in 0..1:
for cj in 0..n-1:
cnt.init
for k in 0..n-1:
if si == 0: cnt.incl(a[i][k][k])
else: cnt.incl(a[i][k][n-k-1])
for lj in 0..n-1:
cnt.incl(a[j][lj][cj])
min = min(min, cnt.len)
echo min - 1
t8m8⛄️