蓝桥杯好题推荐-扫雷
目录
蓝桥杯好题推荐—扫雷
🌈个人主页:
💫个人格言:“成为自己未来的主人~”
题目链接
[P2327 [SCOI2005] 扫雷 - 洛谷
“P2327 [SCOI2005] 扫雷 - 洛谷”)
解题思路
对于扫雷这道题目来说,我们可以设置为两个数组,一个数组来存放信息,另外一个来进行检测,此外,其实检测数组的第一个数的内容确定的时候,则这个数组的所有内容就确定了,所以对这道题目来说,其实三个结果,要么1,要么0,要么2。
代码实现
#include<iostream>
using namespace std;
const int N = 1e4+10;
int a[N],b[N];
int n;
int check1()
{
a[1]=0;
for(int i=2;i<=n+1;i++)
{
a[i]=b[i-1]-a[i-1]-a[i-2];
if(a[i]<0||a[i]>=2)
return 0;
}
if(a[n+1]==0) return 1;
else return 0;
}
int check2()
{
a[1]=1;
for(int i=2;i<=n+1;i++)
{
a[i]=b[i-1]-a[i-1]-a[i-2];
if(a[i]<0||a[i]>1) return 0;
}
if(a[n+1]==0) return 1;
else return 0;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>b[i];
int res = 0;
res+=check1();//a[1]放0
res+=check2();//a[1]放1
cout<<res<<endl;
return 0;
}
好了,今天的内容就到这里,我们明天再见。