Submission #1680852
Source Code Expand
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <cmath>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <bitset>
#include <cstring>
using namespace std;
#define FOR(I,A,B) for(int I = (A); I < (B); ++I)
#define CLR(mat) memset(mat, 0, sizeof(mat))
typedef long long ll;
const int MOD = 1000000007;
bool check(int b[5][5]) {
FOR(i,0,5) {
FOR(j,0,3) {
if(b[i][j] > b[i][j+1] && b[i][j+1] > b[i][j+2]) return false;
if(b[i][j] < b[i][j+1] && b[i][j+1] < b[i][j+2]) return false;
}
}
FOR(i,0,5) {
FOR(j,0,3) {
if(b[j][i] > b[j+1][i] && b[j+1][i] > b[j+2][i]) return false;
if(b[j][i] < b[j+1][i] && b[j+1][i] < b[j+2][i]) return false;
}
}
return true;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int b[5][5];
bool use[30]; CLR(use);
FOR(i,0,5) FOR(j,0,5) {
cin >> b[i][j];
use[b[i][j]] = true;
}
vector<int> v;
FOR(i,1,26) if(!use[i]) v.push_back(i);
if(v.size() > 8) return 0;
int ans = 0;
do {
int k = 0;
FOR(i,0,5) {
FOR(j,0,5) {
if(b[i][j] == 0) {
b[i][j] = v[k];
k++;
}
}
}
if(check(b)) ans++;
FOR(i,0,5) {
FOR(j,0,5) {
if(!use[b[i][j]]) {
b[i][j] = 0;
}
}
}
} while(next_permutation(v.begin(), v.end()));
cout << ans << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
D - 25個の整数 |
User |
nenuon |
Language |
C++14 (GCC 5.4.1) |
Score |
30 |
Code Size |
1557 Byte |
Status |
WA |
Exec Time |
6 ms |
Memory |
256 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 |
1 ms |
256 KB |
sample-02.txt |
AC |
6 ms |
256 KB |
sample-03.txt |
AC |
1 ms |
256 KB |
sample-04.txt |
AC |
1 ms |
256 KB |
test-1-01.txt |
AC |
4 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 |
5 ms |
256 KB |
test-1-07.txt |
AC |
4 ms |
256 KB |
test-1-08.txt |
AC |
4 ms |
256 KB |
test-1-09.txt |
AC |
4 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 |
4 ms |
256 KB |
test-1-13.txt |
AC |
1 ms |
256 KB |
test-1-14.txt |
AC |
4 ms |
256 KB |
test-1-15.txt |
AC |
4 ms |
256 KB |
test-2-01.txt |
WA |
1 ms |
256 KB |
test-2-02.txt |
WA |
1 ms |
256 KB |
test-2-03.txt |
WA |
1 ms |
256 KB |
test-2-04.txt |
WA |
1 ms |
256 KB |
test-2-05.txt |
WA |
1 ms |
256 KB |
test-2-06.txt |
WA |
1 ms |
256 KB |
test-2-07.txt |
WA |
1 ms |
256 KB |
test-2-08.txt |
WA |
1 ms |
256 KB |
test-2-09.txt |
WA |
1 ms |
256 KB |
test-2-10.txt |
WA |
1 ms |
256 KB |