Submission #1513023
Source Code Expand
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,copy,functools sys.setrecursionlimit(10**7) inf = 10**20 gosa = 1.0 / 10**9 mod = 10**9 + 7 def LI(): return [int(x) for x in sys.stdin.readline().split()] def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()] def LF(): return [float(x) for x in sys.stdin.readline().split()] def LS(): return sys.stdin.readline().split() def I(): return int(sys.stdin.readline()) def F(): return float(sys.stdin.readline()) def S(): return input() def main(): a = [LI() for _ in range(5)] ii = [2**i for i in range(25)] d = collections.defaultdict(int) cs = set(range(25)) for i in range(5): for j in range(5): ij = i*5 + j if a[i][j] > 0: d[a[i][j]] = ij + 1 cs.remove(ij) def f(t, i): u = ii[i-5] if i > 4 else None d = ii[i+5] if i < 20 else None l = ii[i-1] if i % 5 != 0 else None r = ii[i+1] if i % 5 != 4 else None if u and d and ((t & u > 0 and t & d == 0) or (t & u == 0 and t & d > 0)): return False if l and r and ((t & l > 0 and t & r == 0) or (t & l == 0 and t & r > 0)): return False return True rd = collections.defaultdict(int) rd[0] = 1 for k in range(1,26): ks = cs if d[k] > 0: ks = set([d[k] - 1]) nd = collections.defaultdict(int) for nk in ks: ni = ii[nk] for pr, v in rd.items(): if pr & ni > 0: continue if f(pr, nk): nd[pr | ni] += v rd = nd return sum(rd.values()) % mod print(main())
Submission Info
Submission Time | |
---|---|
Task | D - 25個の整数 |
User | iehn |
Language | PyPy3 (2.4.0) |
Score | 100 |
Code Size | 1803 Byte |
Status | AC |
Exec Time | 1359 ms |
Memory | 121432 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 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 | 332 ms | 67052 KB |
sample-02.txt | AC | 303 ms | 65772 KB |
sample-03.txt | AC | 282 ms | 64236 KB |
sample-04.txt | AC | 290 ms | 64236 KB |
test-1-01.txt | AC | 290 ms | 64236 KB |
test-1-02.txt | AC | 284 ms | 64236 KB |
test-1-03.txt | AC | 283 ms | 64236 KB |
test-1-04.txt | AC | 290 ms | 64236 KB |
test-1-05.txt | AC | 284 ms | 64236 KB |
test-1-06.txt | AC | 289 ms | 64236 KB |
test-1-07.txt | AC | 280 ms | 64236 KB |
test-1-08.txt | AC | 282 ms | 64236 KB |
test-1-09.txt | AC | 285 ms | 64236 KB |
test-1-10.txt | AC | 285 ms | 64236 KB |
test-1-11.txt | AC | 288 ms | 64236 KB |
test-1-12.txt | AC | 293 ms | 65132 KB |
test-1-13.txt | AC | 294 ms | 64236 KB |
test-1-14.txt | AC | 299 ms | 65004 KB |
test-1-15.txt | AC | 299 ms | 64236 KB |
test-2-01.txt | AC | 431 ms | 76140 KB |
test-2-02.txt | AC | 415 ms | 76268 KB |
test-2-03.txt | AC | 324 ms | 67308 KB |
test-2-04.txt | AC | 465 ms | 80620 KB |
test-2-05.txt | AC | 583 ms | 92396 KB |
test-2-06.txt | AC | 1048 ms | 119508 KB |
test-2-07.txt | AC | 806 ms | 108628 KB |
test-2-08.txt | AC | 1064 ms | 118228 KB |
test-2-09.txt | AC | 921 ms | 114388 KB |
test-2-10.txt | AC | 1359 ms | 121432 KB |