Submission #433163


Source Code Expand

#include <iostream>
#include <cstdio>
#include <cassert>
#include <cstring>
#include <vector>
#include <valarray>
#include <array>
#include <queue>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <algorithm>
#include <cmath>
#include <complex>
#include <random>

using namespace std;
typedef long long ll;
typedef unsigned long long ull;


int d[5][5];
int used[25];

int dfs(int x, int y) {
    if (y == 5) return 1;
    if (x == 5) return dfs(0, y+1);
    if (d[y][x] != -1) return dfs(x+1, y);
    int sm = 0;
    for (int i = 0; i < 25; i++) {
        if (used[i]) continue;
        d[y][x] = i;
        used[i] = true;
        bool f = true;
        if (2 <= x) {
            if (d[y][x-2] < d[y][x-1] && d[y][x-1] < d[y][x]) {
                f = false;
            }
            if (d[y][x-2] > d[y][x-1] && d[y][x-1] > d[y][x]) {
                f = false;
            }
        }
        if (2 <= y) {
            if (d[y-2][x] < d[y-1][x] && d[y-1][x] < d[y][x]) {
                f = false;
            }
            if (d[y-2][x] > d[y-1][x] && d[y-1][x] > d[y][x]) {
                f = false;
            }
        }
        if (f) {
            sm += dfs(x+1, y);
        }
        d[y][x] = -1;
        used[i] = false;
    }
    return sm;
}

int main() {
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5; j++) {
            cin >> d[i][j]; d[i][j]--;
            if (d[i][j] != -1) {
                used[d[i][j]] = true;
            }
        }
    }
    cout << dfs(0, 0) << endl;
    return 0;
}

Submission Info

Submission Time
Task D - 25個の整数
User yosupo
Language C++11 (GCC 4.9.2)
Score 0
Code Size 1643 Byte
Status WA
Exec Time 5038 ms
Memory 932 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 0 / 30 0 / 70
Status
AC × 3
WA × 1
AC × 6
WA × 13
AC × 6
WA × 14
TLE × 9
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 WA 27 ms 752 KB
sample-02.txt AC 39 ms 800 KB
sample-03.txt AC 27 ms 672 KB
sample-04.txt AC 27 ms 800 KB
test-1-01.txt WA 24 ms 924 KB
test-1-02.txt WA 26 ms 800 KB
test-1-03.txt WA 26 ms 732 KB
test-1-04.txt WA 25 ms 916 KB
test-1-05.txt WA 26 ms 728 KB
test-1-06.txt WA 26 ms 804 KB
test-1-07.txt WA 26 ms 728 KB
test-1-08.txt WA 25 ms 924 KB
test-1-09.txt WA 24 ms 924 KB
test-1-10.txt AC 24 ms 924 KB
test-1-11.txt AC 28 ms 768 KB
test-1-12.txt WA 26 ms 800 KB
test-1-13.txt AC 25 ms 732 KB
test-1-14.txt WA 28 ms 920 KB
test-1-15.txt WA 26 ms 732 KB
test-2-01.txt TLE 5033 ms 804 KB
test-2-02.txt TLE 5032 ms 800 KB
test-2-03.txt WA 1196 ms 804 KB
test-2-04.txt TLE 5032 ms 808 KB
test-2-05.txt TLE 5033 ms 932 KB
test-2-06.txt TLE 5038 ms 828 KB
test-2-07.txt TLE 5033 ms 856 KB
test-2-08.txt TLE 5033 ms 920 KB
test-2-09.txt TLE 5034 ms 804 KB
test-2-10.txt TLE 5033 ms 808 KB