Submission #1513020


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())



print(main())

Submission Info

Submission Time
Task D - 25個の整数
User iehn
Language Python (3.4.3)
Score 30
Code Size 1797 Byte
Status WA
Exec Time 5256 ms
Memory 25112 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 4
AC × 19
AC × 21
WA × 7
TLE × 1
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 80 ms 7752 KB
sample-02.txt AC 43 ms 5456 KB
sample-03.txt AC 41 ms 5460 KB
sample-04.txt AC 42 ms 5460 KB
test-1-01.txt AC 41 ms 5464 KB
test-1-02.txt AC 41 ms 5456 KB
test-1-03.txt AC 41 ms 5456 KB
test-1-04.txt AC 41 ms 5460 KB
test-1-05.txt AC 41 ms 5456 KB
test-1-06.txt AC 42 ms 5456 KB
test-1-07.txt AC 41 ms 5460 KB
test-1-08.txt AC 41 ms 5464 KB
test-1-09.txt AC 41 ms 5464 KB
test-1-10.txt AC 41 ms 5464 KB
test-1-11.txt AC 41 ms 5460 KB
test-1-12.txt AC 42 ms 5456 KB
test-1-13.txt AC 41 ms 5456 KB
test-1-14.txt AC 42 ms 5464 KB
test-1-15.txt AC 41 ms 5464 KB
test-2-01.txt WA 85 ms 5772 KB
test-2-02.txt AC 65 ms 5584 KB
test-2-03.txt AC 45 ms 5456 KB
test-2-04.txt WA 92 ms 5720 KB
test-2-05.txt WA 289 ms 6844 KB
test-2-06.txt WA 3617 ms 22256 KB
test-2-07.txt WA 2317 ms 13932 KB
test-2-08.txt WA 3233 ms 20676 KB
test-2-09.txt WA 2802 ms 22168 KB
test-2-10.txt TLE 5256 ms 25112 KB