Submission #434075
Source Code Expand
#include <iostream> #include <algorithm> #include <functional> #include <string> #include <climits> #include <vector> #include <numeric> #include <complex> #include <map> #include <bitset> using namespace std; //#define __int64 long long #define long __int64 #define REP(i,a,b) for(int i=a;i<b;i++) #define rep(i,n) REP(i,0,n) const int Vecy[4] = {0,-1,0,1}; const int Vecx[4] = {1,0,-1,0}; //部分点のみ int main(){ int x[5][5]; bool use[26] = {false}; int pointy[8] = {0}; int pointx[8] = {0}; int index[8] = {0,1,2,3,4,5,6,7}; int ans = 0; int number[8]; int aki = 0; bool flg; for(int iy=0; iy<5; iy++){ for(int ix=0; ix<5; ix++){ cin >> x[iy][ix]; use[ x[iy][ix] ] = true; } } for(int iy=0; iy<5; iy++){ for(int ix=0; ix<5; ix++){ if(x[iy][ix] == 0){ pointy[aki] = iy; pointx[aki] = ix; aki ++; } } } int aa = 0; for(int i=1; i<=25; i++){ if(!use[i]){ number[aa] = i; aa ++; } } if(aa > 8){ cout << "muri"; return 0; } do { //入れてみる for(int i=0; i<aki; i++){ x[pointy[i]][pointx[i]] = number[ index[i] ]; } //横テスト flg = true; for(int iy=0; iy<5; iy++){ for(int ix=1; ix<=3; ix++){ if(x[iy][ix-1] < x[iy][ix] && x[iy][ix] < x[iy][ix+1]){ flg = false; break; } if(x[iy][ix-1] > x[iy][ix] && x[iy][ix] > x[iy][ix+1]){ flg = false; } } } if(!flg){ continue; } //縦テスト for(int iy=1; iy<=3; iy++){ for(int ix=0; ix<5; ix++){ if(x[iy-1][ix] < x[iy][ix] && x[iy][ix] < x[iy+1][ix]){ flg = false; break; } if(x[iy-1][ix] > x[iy][ix] && x[iy][ix] > x[iy+1][ix]){ flg = false; break; } } } if(flg){ ans ++; } } while( next_permutation(index, index + aki )); // 次の順列を生成 cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | b158b |
Language | C++ (GCC 4.9.2) |
Score | 30 |
Code Size | 1974 Byte |
Status | WA |
Exec Time | 31 ms |
Memory | 928 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 | 28 ms | 852 KB |
sample-02.txt | AC | 30 ms | 920 KB |
sample-03.txt | AC | 26 ms | 920 KB |
sample-04.txt | AC | 26 ms | 920 KB |
test-1-01.txt | AC | 30 ms | 920 KB |
test-1-02.txt | AC | 26 ms | 924 KB |
test-1-03.txt | AC | 27 ms | 852 KB |
test-1-04.txt | AC | 26 ms | 920 KB |
test-1-05.txt | AC | 26 ms | 916 KB |
test-1-06.txt | AC | 29 ms | 916 KB |
test-1-07.txt | AC | 30 ms | 920 KB |
test-1-08.txt | AC | 29 ms | 916 KB |
test-1-09.txt | AC | 31 ms | 916 KB |
test-1-10.txt | AC | 26 ms | 920 KB |
test-1-11.txt | AC | 27 ms | 924 KB |
test-1-12.txt | AC | 29 ms | 920 KB |
test-1-13.txt | AC | 27 ms | 912 KB |
test-1-14.txt | AC | 29 ms | 920 KB |
test-1-15.txt | AC | 29 ms | 928 KB |
test-2-01.txt | WA | 26 ms | 928 KB |
test-2-02.txt | WA | 25 ms | 924 KB |
test-2-03.txt | WA | 26 ms | 924 KB |
test-2-04.txt | WA | 26 ms | 928 KB |
test-2-05.txt | WA | 26 ms | 928 KB |
test-2-06.txt | WA | 26 ms | 928 KB |
test-2-07.txt | WA | 25 ms | 928 KB |
test-2-08.txt | WA | 26 ms | 920 KB |
test-2-09.txt | WA | 26 ms | 928 KB |
test-2-10.txt | WA | 26 ms | 928 KB |