Submission #433450
Source Code Expand
#include <bits/stdc++.h> using namespace std; const int R = 5; const int C = 5; int x[R][C]; int used[30], used2[30]; int ans; void rec(int i, int j) { if(j == C) ++i, j = 0; if(i == R) { ++ans; return; } int l = 1, r = 25; if(j >= 2) { if(x[i][j-2] < x[i][j-1]) r = x[i][j-1] - 1; else l = x[i][j-1] + 1; } if(i >= 2) { if(x[i-2][j] < x[i-1][j]) r = min(r, x[i-1][j] - 1); else l = max(l, x[i-1][j] + 1); } if(x[i][j]) l = max(l, x[i][j]), r = min(r, x[i][j]); for(int k = l; k <= r; ++k) { if(x[i][j] != k && used2[k]) continue; if(used[k]) continue; int tmp = x[i][j]; x[i][j] = k; used[k] = 1; bool flag = false; if(i == 0 || i+1 == R) { flag = true; } else { int nl = 1, nr = 25; if(x[i-1][j] < x[i][j]) nr = x[i][j] - 1; else nl = x[i][j] + 1; if(x[i+1][j]) nl = max(nl, x[i+1][j]),nr = min(nr, x[i+1][j]); for(int d = nl; d <= nr; ++d) { if(!used[d]) { flag = true; break; } } } if(flag) rec(i, j+1); x[i][j] = tmp; used[k] = 0; } } int main() { memset(used2, 0, sizeof(used2)); for(int i = 0; i < R; ++i) { for(int j = 0; j < C; ++j) { cin >> x[i][j]; used2[x[i][j]] = 1; } } memset(used, 0, sizeof(used)); ans = 0; rec(0, 0); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | zukky |
Language | C++ (GCC 4.9.2) |
Score | 30 |
Code Size | 1442 Byte |
Status | TLE |
Exec Time | 5033 ms |
Memory | 932 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 | 23 ms | 924 KB |
sample-02.txt | AC | 33 ms | 736 KB |
sample-03.txt | AC | 25 ms | 924 KB |
sample-04.txt | AC | 23 ms | 808 KB |
test-1-01.txt | AC | 22 ms | 924 KB |
test-1-02.txt | AC | 24 ms | 800 KB |
test-1-03.txt | AC | 24 ms | 800 KB |
test-1-04.txt | AC | 22 ms | 924 KB |
test-1-05.txt | AC | 22 ms | 796 KB |
test-1-06.txt | AC | 24 ms | 716 KB |
test-1-07.txt | AC | 22 ms | 804 KB |
test-1-08.txt | AC | 22 ms | 800 KB |
test-1-09.txt | AC | 22 ms | 672 KB |
test-1-10.txt | AC | 22 ms | 920 KB |
test-1-11.txt | AC | 23 ms | 796 KB |
test-1-12.txt | AC | 23 ms | 672 KB |
test-1-13.txt | AC | 24 ms | 928 KB |
test-1-14.txt | AC | 24 ms | 928 KB |
test-1-15.txt | AC | 24 ms | 928 KB |
test-2-01.txt | TLE | 5032 ms | 804 KB |
test-2-02.txt | TLE | 5032 ms | 800 KB |
test-2-03.txt | AC | 511 ms | 792 KB |
test-2-04.txt | TLE | 5033 ms | 932 KB |
test-2-05.txt | TLE | 5032 ms | 808 KB |
test-2-06.txt | TLE | 5030 ms | 804 KB |
test-2-07.txt | TLE | 5032 ms | 928 KB |
test-2-08.txt | TLE | 5032 ms | 932 KB |
test-2-09.txt | TLE | 5032 ms | 928 KB |
test-2-10.txt | TLE | 5033 ms | 800 KB |