Submission #7470335


Source Code Expand

class comb():
  F = [1, 1]
  def __init__(self, num):
    for i in range(2, num + 1):
      self.F.append((self.F[-1] * i))
  def com(self, n, k):
    if n < k: return 0
    if n < 0 or k < 0: return 0
    return self.F[n] // (self.F[n - k] * self.F[k])

def nasu(x, y, n):
  return com.com(n, x) * com.com(n - x, y)


N = int(input())

DP = [0] * (N + 1)
DP[0] = 0
DP[1] = 0
com = comb(N)

for i in range(2, N + 1):
  T = [0] * (i + 1)
  for g in range(i + 1):
    for c in range(i - g + 1):
      F = False
      p = i - c - g
      if max(g, c, p) == i:
        T[-1] += 1
        continue
      if g == 0:
        T[min(c, p)] += nasu(min(c, p), 0, i)
      elif c == 0:
        T[min(g, p)] += nasu(min(g, p), 0, i)
      elif p == 0:
        T[min(g, c)] += nasu(min(g, c), 0, i)
      else:
        if g == c and c == p:
          T[-1] += nasu(g, c, i)
          continue
        if g != c and g != p and c != p:
          if min(g, c, p) == g:
            T[g] += nasu(g, c, i)
          elif min(g, c, p) == c:
            T[c] += nasu(c, g, i)
          else:
            T[p] += nasu(p, g, i)
        if g == c:
          if p == min(g, p):
            T[p] += nasu(p, g, i)
          else:
            T[g] += nasu(g, c, i)
        elif g == p:
          if c == min(g, c):
            T[c] += nasu(c, g, i)
          else:
            T[g] += nasu(g, p, i)
        elif c == p:
          if g == min(g, c):
            T[g] += nasu(g, c, i)
          else:
            T[c] += nasu(c, p, i)
  su = pow(3, i)
  lp = T[-1]
  #print(i, T, su)
  for j in range(i):
    if T[j] == 0: continue
    DP[i] += (DP[j] + su / (su - lp)) * T[j]
  DP[i] /= (su - lp)
#print(DP)
print(DP[-1])

Submission Info

Submission Time
Task C - ゲーマーじゃんけん
User DFNasutarou
Language Python (3.4.3)
Score 100
Code Size 1764 Byte
Status AC
Exec Time 542 ms
Memory 3192 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 99
Set Name Test Cases
All input-002.txt, input-003.txt, input-004.txt, input-005.txt, input-006.txt, input-007.txt, input-008.txt, input-009.txt, input-010.txt, input-011.txt, input-012.txt, input-013.txt, input-014.txt, input-015.txt, input-016.txt, input-017.txt, input-018.txt, input-019.txt, input-020.txt, input-021.txt, input-022.txt, input-023.txt, input-024.txt, input-025.txt, input-026.txt, input-027.txt, input-028.txt, input-029.txt, input-030.txt, input-031.txt, input-032.txt, input-033.txt, input-034.txt, input-035.txt, input-036.txt, input-037.txt, input-038.txt, input-039.txt, input-040.txt, input-041.txt, input-042.txt, input-043.txt, input-044.txt, input-045.txt, input-046.txt, input-047.txt, input-048.txt, input-049.txt, input-050.txt, input-051.txt, input-052.txt, input-053.txt, input-054.txt, input-055.txt, input-056.txt, input-057.txt, input-058.txt, input-059.txt, input-060.txt, input-061.txt, input-062.txt, input-063.txt, input-064.txt, input-065.txt, input-066.txt, input-067.txt, input-068.txt, input-069.txt, input-070.txt, input-071.txt, input-072.txt, input-073.txt, input-074.txt, input-075.txt, input-076.txt, input-077.txt, input-078.txt, input-079.txt, input-080.txt, input-081.txt, input-082.txt, input-083.txt, input-084.txt, input-085.txt, input-086.txt, input-087.txt, input-088.txt, input-089.txt, input-090.txt, input-091.txt, input-092.txt, input-093.txt, input-094.txt, input-095.txt, input-096.txt, input-097.txt, input-098.txt, input-099.txt, input-100.txt
Case Name Status Exec Time Memory
input-002.txt AC 18 ms 3192 KB
input-003.txt AC 18 ms 3192 KB
input-004.txt AC 18 ms 3192 KB
input-005.txt AC 18 ms 3192 KB
input-006.txt AC 18 ms 3192 KB
input-007.txt AC 18 ms 3192 KB
input-008.txt AC 18 ms 3192 KB
input-009.txt AC 18 ms 3192 KB
input-010.txt AC 18 ms 3192 KB
input-011.txt AC 18 ms 3192 KB
input-012.txt AC 19 ms 3192 KB
input-013.txt AC 19 ms 3192 KB
input-014.txt AC 19 ms 3192 KB
input-015.txt AC 20 ms 3192 KB
input-016.txt AC 20 ms 3192 KB
input-017.txt AC 20 ms 3192 KB
input-018.txt AC 21 ms 3192 KB
input-019.txt AC 21 ms 3192 KB
input-020.txt AC 22 ms 3192 KB
input-021.txt AC 23 ms 3192 KB
input-022.txt AC 23 ms 3192 KB
input-023.txt AC 24 ms 3192 KB
input-024.txt AC 25 ms 3192 KB
input-025.txt AC 26 ms 3192 KB
input-026.txt AC 27 ms 3192 KB
input-027.txt AC 28 ms 3192 KB
input-028.txt AC 29 ms 3192 KB
input-029.txt AC 30 ms 3192 KB
input-030.txt AC 32 ms 3192 KB
input-031.txt AC 33 ms 3192 KB
input-032.txt AC 34 ms 3192 KB
input-033.txt AC 36 ms 3192 KB
input-034.txt AC 38 ms 3192 KB
input-035.txt AC 39 ms 3192 KB
input-036.txt AC 42 ms 3192 KB
input-037.txt AC 44 ms 3192 KB
input-038.txt AC 46 ms 3192 KB
input-039.txt AC 48 ms 3192 KB
input-040.txt AC 50 ms 3192 KB
input-041.txt AC 52 ms 3192 KB
input-042.txt AC 55 ms 3192 KB
input-043.txt AC 58 ms 3192 KB
input-044.txt AC 60 ms 3192 KB
input-045.txt AC 64 ms 3192 KB
input-046.txt AC 67 ms 3192 KB
input-047.txt AC 70 ms 3192 KB
input-048.txt AC 73 ms 3192 KB
input-049.txt AC 76 ms 3192 KB
input-050.txt AC 82 ms 3192 KB
input-051.txt AC 84 ms 3192 KB
input-052.txt AC 88 ms 3192 KB
input-053.txt AC 95 ms 3192 KB
input-054.txt AC 97 ms 3192 KB
input-055.txt AC 102 ms 3192 KB
input-056.txt AC 105 ms 3192 KB
input-057.txt AC 112 ms 3192 KB
input-058.txt AC 115 ms 3192 KB
input-059.txt AC 120 ms 3192 KB
input-060.txt AC 127 ms 3192 KB
input-061.txt AC 136 ms 3192 KB
input-062.txt AC 137 ms 3192 KB
input-063.txt AC 145 ms 3192 KB
input-064.txt AC 149 ms 3192 KB
input-065.txt AC 158 ms 3192 KB
input-066.txt AC 162 ms 3192 KB
input-067.txt AC 170 ms 3192 KB
input-068.txt AC 176 ms 3192 KB
input-069.txt AC 185 ms 3192 KB
input-070.txt AC 189 ms 3192 KB
input-071.txt AC 200 ms 3192 KB
input-072.txt AC 202 ms 3192 KB
input-073.txt AC 212 ms 3192 KB
input-074.txt AC 224 ms 3192 KB
input-075.txt AC 230 ms 3192 KB
input-076.txt AC 240 ms 3192 KB
input-077.txt AC 249 ms 3192 KB
input-078.txt AC 263 ms 3192 KB
input-079.txt AC 268 ms 3192 KB
input-080.txt AC 286 ms 3192 KB
input-081.txt AC 287 ms 3192 KB
input-082.txt AC 296 ms 3192 KB
input-083.txt AC 311 ms 3192 KB
input-084.txt AC 315 ms 3192 KB
input-085.txt AC 335 ms 3192 KB
input-086.txt AC 337 ms 3192 KB
input-087.txt AC 356 ms 3192 KB
input-088.txt AC 360 ms 3192 KB
input-089.txt AC 376 ms 3192 KB
input-090.txt AC 384 ms 3192 KB
input-091.txt AC 404 ms 3192 KB
input-092.txt AC 412 ms 3192 KB
input-093.txt AC 423 ms 3192 KB
input-094.txt AC 437 ms 3192 KB
input-095.txt AC 457 ms 3192 KB
input-096.txt AC 468 ms 3192 KB
input-097.txt AC 479 ms 3192 KB
input-098.txt AC 502 ms 3192 KB
input-099.txt AC 527 ms 3192 KB
input-100.txt AC 542 ms 3192 KB