結果
| 問題 |
No.336 門松列列
|
| コンテスト | |
| ユーザー |
HIROPON87069639
|
| 提出日時 | 2016-02-13 15:51:51 |
| 言語 | Python2 (2.7.18) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,059 bytes |
| コンパイル時間 | 204 ms |
| コンパイル使用メモリ | 7,040 KB |
| 実行使用メモリ | 24,352 KB |
| 最終ジャッジ日時 | 2024-09-22 06:15:23 |
| 合計ジャッジ時間 | 6,818 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 4 |
| other | TLE * 1 -- * 7 |
ソースコード
# 2016.2.13
import time
N = input()
alpha = [0 for i in range(0, N)]
beta = [0 for i in range(0, N)]
start = time.time()
if N < 3:
print "0"
else:
flag = "alpha"
alpha[0] = 4
alpha[1] = 2
beta[0] = 4
beta[1] = 2
for i in xrange(3, N):
if flag == "alpha":
for j in xrange(0, min(i-1, N/2)):
tmp = alpha[j]
beta[j] = 2 * tmp
for j in xrange(0, min(i-1, N/2)):
tmp = alpha[j]
beta[j-1] += tmp * j
beta[j+1] += tmp * (i - 1 - j)
flag = "beta"
else:
for j in xrange(0, min(i-1, N/2)):
tmp = beta[j]
alpha[j] = 2 * tmp
for j in xrange(0, min(i-1, N/2)):
tmp = beta[j]
alpha[j-1] += tmp * j
alpha[j+1] += tmp * (i - 1 - j)
flag = "alpha"
if flag == "alpha":
print alpha[0] % 1000000007
else:
print beta[0] % 1000000007
#print int((time.time() - start) * 1000), "ms"
HIROPON87069639