結果
| 問題 |
No.2792 Security Cameras on Young Diagram
|
| コンテスト | |
| ユーザー |
いまり💣🍠
|
| 提出日時 | 2024-06-21 23:56:40 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 804 bytes |
| コンパイル時間 | 298 ms |
| コンパイル使用メモリ | 82,352 KB |
| 実行使用メモリ | 848,208 KB |
| 最終ジャッジ日時 | 2024-06-21 23:56:46 |
| 合計ジャッジ時間 | 4,551 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | WA * 9 MLE * 1 -- * 10 |
ソースコード
import sys
sys.setrecursionlimit(2 * (10 ** 5) + 5)
N = int(input())
A = list(map(int, input().split()))
patterns = [[-1] * A[i] for i in range(N)]
def func(i, j):
if patterns[i][j] != -1:
return patterns[i][j]
count = 0
if j + 1 == A[i] and (i + 1 == N or j >= A[i + 1]):
# 右と下にマスがない場合
patterns[i][j] = 2
return 2
if i + 1 < N and j < A[i + 1]:
# 下にマスがある場合
# i, jに右のカメラを置いたとき
count += func(i + 1, j)
else:
count += 1
if j + 1 < A[i]:
# 右にマスがある場合
# i, jに下のカメラを置いたとき
count += func(i, j + 1)
else:
count += 1
patterns[i][j] = count
return count
print(func(0, 0))
いまり💣🍠