H. 扫雷
【问题描述】
相信大家都玩过扫雷的游戏。那是在一个 的矩阵里面有一些雷,要你根据一些信息找出雷来。
万圣节到了,「余」人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和它 连通的格子里面雷的数目。现在棋盘是 的,第一列里面某些格子是雷,而第二列没有雷。
由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息确定第一列雷有多少种摆放方案。
【输入形式】
第一行为 ,第二行有 个数,依次为第二列的格子中的数
【输出形式】
一个数,即第一列中雷的摆放方案数。
【样例输入】
2
1 1
【样例输出】
2
【样例说明】
两个位置任意一个有雷即可
【数据范围】
n=int(input())
l=[0]+list(map(int,input().split()))
a=[0]*100001
ans=0
def f():
global a
for i in range(2,n+1):
a[i+1]=l[i]-a[i]-a[i-1]
if a[n+1]==1:
return 0
else:
return 1
if n==1:
ans=1
else:
for i in range(l[1]+1):
a[1]=i
a[2]=l[1]-i
if f():
ans+=1
print(ans)