結果

問題 No.2784 繰り上がりなし十進和
ユーザー PNJ
提出日時 2024-06-14 22:38:53
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,235 ms / 2,000 ms
コード長 1,003 bytes
コンパイル時間 269 ms
コンパイル使用メモリ 82,424 KB
実行使用メモリ 265,788 KB
最終ジャッジ日時 2024-06-14 22:39:25
合計ジャッジ時間 27,554 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 36
権限があれば一括ダウンロードができます

ソースコード

diff #

def F(a,b,c,d,e,f):
  a %= 10
  b %= 10
  c %= 10
  d %= 10
  e %= 10
  f %= 10
  return 100000*a + 10000*b + 1000*c + 100*d + 10*e + f
N = 10**6 + 1
SS = [input() for i in range(6)]
S = [[int(SS[j][i]) for i in range(6)] for j in range(6)]
A = []
G = [[] for i in range(N+1)]
X = set()
for j in range(6):
  a,b,c,d,e,f = S[j]
  t = F(a,b,c,d,e,f)
  G[N].append(t)
  X.add(t)
  continue

for a in range(10):
  for b in range(10):
    for c in range(10):
      for d in range(10):
        for e in range(10):
          for f in range(10):
            t = F(a,b,c,d,e,f)
            for j in range(6):
              tt = F(a+S[j][0],b+S[j][1],c+S[j][2],d+S[j][3],e+S[j][4],f+S[j][5])
              if tt in X:
                continue
              if t == tt:
                continue
              G[t].append(tt)

seen = [0 for i in range(N)]
todo = [N]
ans = 0
while len(todo):
  u = todo.pop()
  for v in G[u]:
    if seen[v]:
      continue
    seen[v] = 1
    ans += 1
    todo.append(v)
print(ans)
0