#include <bits/stdc++.h>
#include <cstring>
#include <vector>
using namespace std;
int main()
{
int m;
cin>>m;
vector<int> a(m+1);
for(int i=1;i<=m;++i)
{
a[i]=0;
}
for(int i=1;i<=m;++i)
{
cin>>a[i];
}
int n;
cin>>n;
int cnt=0;
for(int i=0;i<m;++i)
{
if(!a[i]&&!a[i+1]&&!a[i-1])
{
cnt++;
a[i]=1;
}
}
cout<<((cnt>=n)?"true":"false")<<endl;
return 0;
}
发现数据量很小直接遍历即可 但是要注意替换之后要将数组a[i]变换因为判断是否能够替换时要用到a[i-1]



京公网安备 11010502036488号