NC20241. [SCOI2005]扫雷MINE
描述
输入描述
第一行为N,第二行有N个数,依次为第二列的格子中的数。(1 ≤ N ≤ 10000)
输出描述
一个数,即第一列中雷的摆放方案数。
示例1
输入:
2 1 1
输出:
2
Python3 解法, 执行用时: 48ms, 内存消耗: 4792K, 提交时间: 2023-02-15 20:37:47
n=int(input()) lst=list(map(int,input().split())) q=2 for j in range(2): f=[0]*len(lst) f[0]=j for i in range(1,len(lst)): f[i]=lst[i-1]-f[i-1]-f[i-2] if f[i]!=0 and f[i]!=1: q-=1 break if i==n-1 and f[-1]+f[-2]!=lst[-1]: q-=1 print(q)
C++(clang++ 11.0.1) 解法, 执行用时: 4ms, 内存消耗: 412K, 提交时间: 2023-03-08 18:56:52
#include<iostream> using namespace std; int n,a[10005],f[10005],ans=0; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=0;i<=a[1];i++) { f[1]=i; for(int j=2;j<=n+1;j++) f[j]=a[j-1]-f[j-1]-f[j-2]; if(f[n+1]==0) ans++; } cout<<ans; }