結果
| 問題 | 
                            No.66 輝け☆全国たこやき杯
                             | 
                    
| コンテスト | |
| ユーザー | 
                             rlangevin
                         | 
                    
| 提出日時 | 2023-09-14 12:28:30 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 135 ms / 5,000 ms | 
| コード長 | 458 bytes | 
| コンパイル時間 | 258 ms | 
| コンパイル使用メモリ | 82,176 KB | 
| 実行使用メモリ | 67,968 KB | 
| 最終ジャッジ日時 | 2024-07-01 19:55:53 | 
| 合計ジャッジ時間 | 1,597 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 10 | 
ソースコード
import sys
input = sys.stdin.readline
M = int(input())
M2 = 1 << M
S = [0] * M2
for i in range(M2):
    S[i] = int(input())
pre = [1] * M2
for i in range(M):
    dp = [0] * M2
    for j in range(M2):
        for k in range(M2):
            if j >> (i + 1) != k >> (i + 1):
                continue
            if (j >> i) & 1 != (k >> i) & 1:
                dp[j] += S[j] ** 2/(S[j] ** 2 + S[k] ** 2) * pre[j] * pre[k]
    dp, pre = pre, dp
print(pre[0])
            
            
            
        
            
rlangevin