Submission #433256
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) { 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) return 0; 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 | 30 |
Code Size | 2212 Byte |
Status | TLE |
Exec Time | 5036 ms |
Memory | 1072 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 0 / 70 | ||||||||
Status |
|
|
|
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 | 29 ms | 940 KB |
sample-02.txt | AC | 33 ms | 940 KB |
sample-03.txt | AC | 27 ms | 912 KB |
sample-04.txt | AC | 29 ms | 916 KB |
test-1-01.txt | AC | 28 ms | 1036 KB |
test-1-02.txt | AC | 27 ms | 1044 KB |
test-1-03.txt | AC | 26 ms | 1040 KB |
test-1-04.txt | AC | 27 ms | 1044 KB |
test-1-05.txt | AC | 28 ms | 920 KB |
test-1-06.txt | AC | 28 ms | 1040 KB |
test-1-07.txt | AC | 27 ms | 1000 KB |
test-1-08.txt | AC | 27 ms | 1044 KB |
test-1-09.txt | AC | 27 ms | 916 KB |
test-1-10.txt | AC | 27 ms | 1040 KB |
test-1-11.txt | AC | 27 ms | 1036 KB |
test-1-12.txt | AC | 27 ms | 916 KB |
test-1-13.txt | AC | 27 ms | 936 KB |
test-1-14.txt | AC | 28 ms | 1044 KB |
test-1-15.txt | AC | 26 ms | 1036 KB |
test-2-01.txt | TLE | 5036 ms | 1072 KB |
test-2-02.txt | TLE | 5035 ms | 996 KB |
test-2-03.txt | AC | 419 ms | 1044 KB |
test-2-04.txt | TLE | 5034 ms | 1068 KB |
test-2-05.txt | TLE | 5034 ms | 1068 KB |
test-2-06.txt | TLE | 5035 ms | 996 KB |
test-2-07.txt | TLE | 5034 ms | 1068 KB |
test-2-08.txt | TLE | 5034 ms | 1072 KB |
test-2-09.txt | TLE | 5035 ms | 1004 KB |
test-2-10.txt | TLE | 5034 ms | 1064 KB |