結果
問題 | No.462 6日知らずのコンピュータ |
ユーザー |
![]() |
提出日時 | 2017-01-26 02:26:23 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 36 ms / 2,000 ms |
コード長 | 505 bytes |
コンパイル時間 | 94 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,752 KB |
最終ジャッジ日時 | 2024-12-23 09:49:00 |
合計ジャッジ時間 | 5,665 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 84 |
ソースコード
def popcount(x): ret = 0 while (x): x = x ^ (-x & x) ret += 1 return ret MOD = 10**9+7 [n,k] = map(int,input().split(' ')) if k > 0: a = list(map(int,input().split(' '))) else: a = [] fact = [1 for i in range(n+1)] for i in range(1,n+1): fact[i] = fact[i-1] * i % MOD a.extend([0,(1<<n)-1]) a.sort() ans = 1 for i in range(len(a)-1): if (a[i]^a[i+1])|a[i+1] != a[i+1]: ans *= 0 else: ans = ans * fact[popcount(a[i]^a[i+1])] % MOD print(ans)