Submission #2071526


Source Code Expand

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
typedef pair<int, int> pii;

const ll mod = 1000000007;
int a[25][25], b[25][25];
vector<pii> ps;
set<int> st;
vector<int> ns;

int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  
  for (int i = 0; i < 5; i++) {
    for (int j = 0; j < 5; j++) {
      cin >> a[i][j];
      if (a[i][j] == 0) ps.push_back(pii(i, j));
      else st.insert(a[i][j]);
    }
  }
  for (int i = 1; i <= 25; i++) {
    if (st.find(i) == st.end()) ns.push_back(i);
  }
  assert(ns.size() <= 8);

  ll ans = 0;
  do {
    memcpy(b, a, sizeof(a));
    for (int i = 0; i < ns.size(); i++) {
      pii p = ps[i];
      b[p.first][p.second] = ns[i];
    }
    bool ok = true;
    for (int i = 0; i < 5; i++) {
      for (int j = 1; j < 4; j++) {
        ok &= (!(b[i][j - 1] < b[i][j] && b[i][j] < b[i][j + 1]) && !(b[i][j - 1] > b[i][j] && b[i][j] > b[i][j + 1]));
      }
    }
    for (int j = 0; j < 5; j++) {
      for (int i = 1; i < 4; i++) {
        ok &= (!(b[i - 1][j] < b[i][j] && b[i][j] < b[i + 1][j]) && !(b[i - 1][j] > b[i][j] && b[i][j] > b[i + 1][j]));
      }
    }
    ans += ok;
    ans %= mod;
  } while (next_permutation(ns.begin(), ns.end()));
  cout << ans << endl;

  return 0;
}

Submission Info

Submission Time
Task D - 25個の整数
User legosuke
Language C++14 (GCC 5.4.1)
Score 30
Code Size 1310 Byte
Status RE
Exec Time 103 ms
Memory 256 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 4
AC × 19
AC × 19
RE × 10
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, test-1-01.txt, test-1-02.txt, test-1-03.txt, test-1-04.txt, test-1-05.txt, test-1-06.txt, test-1-07.txt, test-1-08.txt, test-1-09.txt, test-1-10.txt, test-1-11.txt, test-1-12.txt, test-1-13.txt, test-1-14.txt, test-1-15.txt
Subtask2 sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt, test-1-01.txt, test-1-02.txt, test-1-03.txt, test-1-04.txt, test-1-05.txt, test-1-06.txt, test-1-07.txt, test-1-08.txt, test-1-09.txt, test-1-10.txt, test-1-11.txt, test-1-12.txt, test-1-13.txt, test-1-14.txt, test-1-15.txt, test-2-01.txt, test-2-02.txt, test-2-03.txt, test-2-04.txt, test-2-05.txt, test-2-06.txt, test-2-07.txt, test-2-08.txt, test-2-09.txt, test-2-10.txt
Case Name Status Exec Time Memory
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 7 ms 256 KB
sample-03.txt AC 1 ms 256 KB
sample-04.txt AC 1 ms 256 KB
test-1-01.txt AC 7 ms 256 KB
test-1-02.txt AC 1 ms 256 KB
test-1-03.txt AC 1 ms 256 KB
test-1-04.txt AC 2 ms 256 KB
test-1-05.txt AC 2 ms 256 KB
test-1-06.txt AC 7 ms 256 KB
test-1-07.txt AC 7 ms 256 KB
test-1-08.txt AC 7 ms 256 KB
test-1-09.txt AC 7 ms 256 KB
test-1-10.txt AC 1 ms 256 KB
test-1-11.txt AC 1 ms 256 KB
test-1-12.txt AC 7 ms 256 KB
test-1-13.txt AC 1 ms 256 KB
test-1-14.txt AC 7 ms 256 KB
test-1-15.txt AC 7 ms 256 KB
test-2-01.txt RE 100 ms 256 KB
test-2-02.txt RE 102 ms 256 KB
test-2-03.txt RE 101 ms 256 KB
test-2-04.txt RE 100 ms 256 KB
test-2-05.txt RE 100 ms 256 KB
test-2-06.txt RE 101 ms 256 KB
test-2-07.txt RE 103 ms 256 KB
test-2-08.txt RE 100 ms 256 KB
test-2-09.txt RE 100 ms 256 KB
test-2-10.txt RE 99 ms 256 KB