結果
問題 |
No.452 横着者のビンゴゲーム
|
ユーザー |
![]() |
提出日時 | 2017-01-01 22:50:22 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,240 bytes |
コンパイル時間 | 885 ms |
コンパイル使用メモリ | 70,804 KB |
実行使用メモリ | 9,588 KB |
最終ジャッジ日時 | 2024-12-16 05:31:43 |
合計ジャッジ時間 | 18,732 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 WA * 12 |
ソースコード
#include <iostream> #include <algorithm> #include <set> #define rep(i, n) for (i = 0; i < n; i++) using namespace std; int n, m; int c[200][100][100]; int f(int a, int b) { int i, j, k; set<int> dict; int ret = 114514; rep(i, n) { rep(j, n) { dict.clear(); rep(k, n) { dict.insert(c[a][i][k]); dict.insert(c[b][j][k]); } ret = min(ret, (int)dict.size()); } } rep(i, n) { rep(j, n) { dict.clear(); rep(k, n) { dict.insert(c[a][k][i]); dict.insert(c[b][k][j]); } ret = min(ret, (int)dict.size()); } } dict.clear(); rep(k, n) { dict.insert(c[a][k][k]); dict.insert(c[b][k][k]); } ret = min(ret, (int)dict.size()); dict.clear(); rep(k, n) { dict.insert(c[a][k][k]); dict.insert(c[b][k][n - 1 - k]); } ret = min(ret, (int)dict.size()); dict.clear(); rep(k, n) { dict.insert(c[a][k][n - 1 - k]); dict.insert(c[b][k][k]); } ret = min(ret, (int)dict.size()); dict.clear(); rep(k, n) { dict.insert(c[a][k][n - 1 - k]); dict.insert(c[b][k][n - 1 - k]); } ret = min(ret, (int)dict.size()); return ret; } int main() { int i, j, k; cin >> n >> m; rep(i, m) rep(j, n) rep(k, n) cin >> c[i][j][k]; int ans = 114514; for (i = 0; i < m; i++) for (j = i + 1; j < m; j++) ans = min(ans, f(i, j) - 1); cout << ans << endl; return 0; }