Submission #691079
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template<typename T> using Graph = vector<vector<T>>;
#define REP(i, a, b) for (int i = (int)(a); i < (int)(b); i++)
#define rep(i, a) REP(i, 0, a)
#define EACH(i, a) for (auto i: a)
#define ITR(x, a) for (__typeof(a.begin()) x = a.begin(); x != a.end(); x++)
#define ALL(a) (a.begin()), (a.end())
#define HAS(a, x) (a.find(x) != a.end())
#define endl '\n'
const int inf = (int)1e8;
int N, M, K;
int D[16];
int v[105][105];
int mn[1 << 17];
int idx[105];
int main(void) {
cin.tie(0);
ios::sync_with_stdio(false);
cin >> N >> M >> K;
rep(i, M) cin >> D[i];
rep(i, N + 1) idx[i] = -1;
rep(i, M) idx[D[i]] = i;
rep(i, N) rep(j, K) cin >> v[i][j];
rep(i, 1 << M + 1) mn[i] = inf;
queue<int> que;
que.push((1 << M) - 1);
mn[(1 << M) - 1] = 0;
while (!que.empty()) {
int mask = que.front(); que.pop();
for (int i = 0; i < K; i++) {
int next_mask = 0;
for (int j = 0; j < M; j++) {
if (!(mask & (1 << j))) continue;
if (idx[v[D[j] - 1][i]] > -1) {
next_mask |= 1 << idx[v[D[j] - 1][i]];
}
}
if (mn[mask] + 1 < mn[next_mask]) {
mn[next_mask] = mn[mask] + 1;
que.push(next_mask);
if (next_mask == 0) {
cout << mn[0] << endl;
return 0;
}
}
}
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - 真っ暗な部屋 |
| User | shinsotsu |
| Language | C++11 (GCC 4.8.1) |
| Score | 100 |
| Code Size | 1426 Byte |
| Status | AC |
| Exec Time | 326 ms |
| Memory | 1692 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample1.txt, sample2.txt, sample3.txt |
| All | sample1.txt, sample2.txt, sample3.txt, 90_random_amax_01.txt, 95_random_large_01.txt, 95_random_large_02.txt, 95_random_large_03.txt, 95_random_large_04.txt, 95_random_large_05.txt, 95_random_large_06.txt, 95_random_large_07.txt, 95_random_large_08.txt, 95_random_large_09.txt, 95_random_large_10.txt, 95_random_large_11.txt, 95_random_large_12.txt, 95_random_large_13.txt, 95_random_large_14.txt, 95_random_large_15.txt, 95_random_large_16.txt, 95_random_large_17.txt, 95_random_large_18.txt, 95_random_large_19.txt, 95_random_large_20.txt, 99_random_01.txt, 99_random_02.txt, 99_random_03.txt, 99_random_04.txt, 99_random_05.txt, 99_random_06.txt, 99_random_07.txt, 99_random_08.txt, 99_random_09.txt, 99_random_10.txt, 99_random_11.txt, 99_random_12.txt, 99_random_13.txt, 99_random_14.txt, 99_random_15.txt, 99_random_16.txt, 99_random_17.txt, 99_random_18.txt, 99_random_19.txt, 99_random_20.txt, all_case.txt, large_all_case.txt, large_maximum.txt, line.txt, maximum.txt, one_step.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 90_random_amax_01.txt | AC | 171 ms | 1464 KiB |
| 95_random_large_01.txt | AC | 317 ms | 1460 KiB |
| 95_random_large_02.txt | AC | 316 ms | 1464 KiB |
| 95_random_large_03.txt | AC | 321 ms | 1464 KiB |
| 95_random_large_04.txt | AC | 316 ms | 1568 KiB |
| 95_random_large_05.txt | AC | 310 ms | 1464 KiB |
| 95_random_large_06.txt | AC | 319 ms | 1564 KiB |
| 95_random_large_07.txt | AC | 321 ms | 1564 KiB |
| 95_random_large_08.txt | AC | 316 ms | 1560 KiB |
| 95_random_large_09.txt | AC | 318 ms | 1564 KiB |
| 95_random_large_10.txt | AC | 311 ms | 1464 KiB |
| 95_random_large_11.txt | AC | 320 ms | 1560 KiB |
| 95_random_large_12.txt | AC | 314 ms | 1568 KiB |
| 95_random_large_13.txt | AC | 316 ms | 1468 KiB |
| 95_random_large_14.txt | AC | 320 ms | 1468 KiB |
| 95_random_large_15.txt | AC | 321 ms | 1456 KiB |
| 95_random_large_16.txt | AC | 318 ms | 1468 KiB |
| 95_random_large_17.txt | AC | 319 ms | 1564 KiB |
| 95_random_large_18.txt | AC | 324 ms | 1468 KiB |
| 95_random_large_19.txt | AC | 324 ms | 1464 KiB |
| 95_random_large_20.txt | AC | 323 ms | 1468 KiB |
| 99_random_01.txt | AC | 195 ms | 1596 KiB |
| 99_random_02.txt | AC | 200 ms | 1692 KiB |
| 99_random_03.txt | AC | 200 ms | 1592 KiB |
| 99_random_04.txt | AC | 149 ms | 1592 KiB |
| 99_random_05.txt | AC | 202 ms | 1592 KiB |
| 99_random_06.txt | AC | 177 ms | 1588 KiB |
| 99_random_07.txt | AC | 189 ms | 1596 KiB |
| 99_random_08.txt | AC | 178 ms | 1688 KiB |
| 99_random_09.txt | AC | 207 ms | 1592 KiB |
| 99_random_10.txt | AC | 184 ms | 1632 KiB |
| 99_random_11.txt | AC | 207 ms | 1592 KiB |
| 99_random_12.txt | AC | 191 ms | 1688 KiB |
| 99_random_13.txt | AC | 192 ms | 1688 KiB |
| 99_random_14.txt | AC | 196 ms | 1592 KiB |
| 99_random_15.txt | AC | 196 ms | 1636 KiB |
| 99_random_16.txt | AC | 219 ms | 1596 KiB |
| 99_random_17.txt | AC | 209 ms | 1592 KiB |
| 99_random_18.txt | AC | 187 ms | 1596 KiB |
| 99_random_19.txt | AC | 188 ms | 1592 KiB |
| 99_random_20.txt | AC | 185 ms | 1592 KiB |
| all_case.txt | AC | 100 ms | 1564 KiB |
| large_all_case.txt | AC | 326 ms | 1592 KiB |
| large_maximum.txt | AC | 311 ms | 1468 KiB |
| line.txt | AC | 41 ms | 1460 KiB |
| maximum.txt | AC | 89 ms | 1468 KiB |
| one_step.txt | AC | 100 ms | 1556 KiB |
| sample1.txt | AC | 26 ms | 1040 KiB |
| sample2.txt | AC | 27 ms | 1056 KiB |
| sample3.txt | AC | 25 ms | 1076 KiB |