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
AC × 3
AC × 50
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