题意:
区间里有a艘船,船长为b。区间为n,k是已经打了多少个位置,但是并未打到船,询问最少打几枪,几个位置可以打到船。
MD智障题。我比题还蠢。
思路:
暴力扫一遍。55555555555555
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
#define maxn 200005
char s[maxn];
int ans[maxn];
int main()
{
int n,a,b,k;
cin>>n>>a>>b>>k;
cin>>s;
int cnt=0;
for(int i=0;i<n;i++)
{
if(s[i]!='1')
{
int j;
for( j=0;j<b;j++)
{
if(s[i+j]=='1'||i+j==n)
break;
}
if(j==b)
{
ans[++cnt]=i+j;
}
i=i+j-1;
}
}
cout<<cnt-a+1<<endl;
for(int i=1;i<=cnt-a+1;i++)
cout<<ans[i]<<" ";
}