zoukankan      html  css  js  c++  java
  • luogu_2327 扫雷

    #include <cstdio>
    #include <iostream>
    using namespace std;
    const int N=10010;
    int n,a[N],b[N],sum;//1 有雷 0 无雷 
    
    inline int read(){
    	char c; int x=0;
    	while(c<48)c=getchar();
    	while(c>=48){
    		x=x*10+c-'0';
    		c=getchar();
    	}
    	return x;
    }
    
    int main(){
    	n=read();
    	for(int i=1;i<=n;i++)b[i]=read();
    	if(b[1]==2){
    		a[1]=1; a[2]=1;
    		for(int i=3;i<=n;i++){
    			a[i]=b[i-1]-a[i-2]-a[i-1];
    			if(a[i]!=0 && a[i]!=1)break;
    			if(i==n && a[i-1]+a[i]==b[i])sum++;
    		}
    		cout<<sum<<endl;
    		return 0;
    	}
    	if(b[1]==0){
    		a[1]=0; a[2]=0;
    		for(int i=3;i<=n;i++){
    			a[i]=b[i-1]-a[i-2]-a[i-1];
    			if(a[i]!=0 && a[i]!=1)break;
    			if(i==n && a[i-1]+a[i]==b[i])sum++;
    		}
    		cout<<sum<<endl;
    		return 0;
    	}
    	a[1]=1; a[2]=0;
    	for(int i=3;i<=n;i++){
    		a[i]=b[i-1]-a[i-2]-a[i-1];
    		if(a[i]!=0 && a[i]!=1)break;
    		if(i==n && a[i-1]+a[i]==b[i])sum++;
    	}
    	a[1]=0; a[2]=1;
    	for(int i=3;i<=n;i++){
    		a[i]=b[i-1]-a[i-2]-a[i-1];
    		if(a[i]!=0 && a[i]!=1)break;
    		if(i==n && a[i-1]+a[i]==b[i])sum++;
    	}
    	cout<<sum<<endl;
    	return 0;
    }
    

      

  • 相关阅读:
    进阶算子
    Scala中sortBy和Spark中sortBy区别
    简单算子演示
    map和FlatMap之间区别?
    RDD
    Spark高可用
    Django Rest Framework
    Scrapy
    asyncio
    BeautifulSoup
  • 原文地址:https://www.cnblogs.com/codetogether/p/7588546.html
Copyright © 2011-2022 走看看