Submission #433425


Source Code Expand

#include <stdio.h>

#define M 1000000007

int n[5][5];

int check(int y,int x) {
	if(y<3) {
		if(n[y][x]<n[y+1][x] && n[y+1][x]<n[y+2][x])return 0;
		if(n[y][x]>n[y+1][x] && n[y+1][x]>n[y+2][x])return 0;
	}
	if(x<3) {
		if(n[y][x]<n[y][x+1] && n[y][x+1]<n[y][x+2])return 0;
		if(n[y][x]>n[y][x+1] && n[y][x+1]>n[y][x+2])return 0;
	}
	return 1;
}

int count(int y,int x,int available) {
	int i;
	int ret=0;
	if(x<0) {
		y--;
		x+=5;
	}
	if(y<0)return 1;
	if(n[y][x]>0) {
		if(check(y,x)) {
			ret=count(y,x-1,available);
		}
	} else {
		for(i=1;i<=25;i++) {
			if(available & (1<<(i-1))) {
				n[y][x]=i;
				if(check(y,x)) {
					ret+=count(y,x-1,available & ~(1<<(i-1)));
					if(ret>=M)ret-=M;
				}
				n[y][x]=0;
			}
		}
	}
	return ret;
}

int main(void) {
	int i,j;
	int available = (1<<25)-1;
	for(i=0;i<5;i++) {
		for(j=0;j<5;j++) {
			if(scanf("%d",&n[i][j])!=1)return 1;
			if(n[i][j]>0)available&=~(1<<(n[i][j]-1));
		}
	}
	printf("%d\n",count(4,4,available));
	return 0;
}

Submission Info

Submission Time
Task D - 25個の整数
User mikecat
Language C (GCC 4.9.2)
Score 30
Code Size 1042 Byte
Status TLE
Exec Time 5044 ms
Memory 872 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 4
AC × 19
AC × 21
TLE × 8
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 744 KB
sample-02.txt AC 32 ms 840 KB
sample-03.txt AC 23 ms 792 KB
sample-04.txt AC 22 ms 740 KB
test-1-01.txt AC 25 ms 792 KB
test-1-02.txt AC 24 ms 792 KB
test-1-03.txt AC 24 ms 732 KB
test-1-04.txt AC 23 ms 788 KB
test-1-05.txt AC 22 ms 740 KB
test-1-06.txt AC 24 ms 816 KB
test-1-07.txt AC 25 ms 796 KB
test-1-08.txt AC 24 ms 792 KB
test-1-09.txt AC 22 ms 792 KB
test-1-10.txt AC 25 ms 796 KB
test-1-11.txt AC 24 ms 796 KB
test-1-12.txt AC 25 ms 796 KB
test-1-13.txt AC 25 ms 788 KB
test-1-14.txt AC 24 ms 796 KB
test-1-15.txt AC 24 ms 792 KB
test-2-01.txt TLE 5035 ms 868 KB
test-2-02.txt AC 1607 ms 712 KB
test-2-03.txt AC 1085 ms 792 KB
test-2-04.txt TLE 5035 ms 868 KB
test-2-05.txt TLE 5033 ms 860 KB
test-2-06.txt TLE 5044 ms 804 KB
test-2-07.txt TLE 5036 ms 868 KB
test-2-08.txt TLE 5035 ms 860 KB
test-2-09.txt TLE 5034 ms 852 KB
test-2-10.txt TLE 5034 ms 872 KB