結果
| 問題 | 
                            No.1189 Sum is XOR
                             | 
                    
| コンテスト | |
| ユーザー | 
                             ntuda
                         | 
                    
| 提出日時 | 2025-09-17 22:21:18 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 586 bytes | 
| コンパイル時間 | 314 ms | 
| コンパイル使用メモリ | 82,384 KB | 
| 実行使用メモリ | 267,240 KB | 
| 最終ジャッジ日時 | 2025-09-17 22:21:24 | 
| 合計ジャッジ時間 | 5,590 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | -- * 2 | 
| other | AC * 3 TLE * 1 -- * 17 | 
ソースコード
MOD = 998244353
N,K = map(int,input().split())
A = list(map(int,input().split()))
N2 = 1024
D = [0] * N2
Q = set()
for a in A:
    D[a] += 1
    Q.add(a)
if K > 10:
    print(0)
Q2 = set()
D2 = D[:]
D3 = [0] * N2
tmp = 1
for i in range(K-1):
    tmp *= (i+1)
    D3 = [0] * N2
    while Q:
        x = Q.pop()
        for j in range(1,N2):
            if x & j:
                continue
            D3[x | j] += D2[x] * D[j]
            D3[x | j] %= MOD
            Q2.add(x | j)
    D2 = D3
    Q,Q2 = Q2,Q
tmp *= K
ans = sum(D2) % MOD
ans *= pow(tmp,-1,MOD)
ans %= MOD
print(ans)
            
            
            
        
            
ntuda