小ho的01串

来源:互联网 发布:没有海绵的文胸知乎 编辑:程序博客网 时间:2024/04/29 21:47

小ho的01串

时间限制: 1 Sec 内存限制: 128 MB

提交: 145 解决: 59

题目描述

有一个由01组成的字符串,它好长呀--------一望无际

恩,说正题,小ho的数学不太好,虽然是学计算机的但是看见01也是很头疼的,

现在他的老师想让他计算出来包含K1的子串有多少个-----呀,头要炸了!!!

小ho知道你的数学棒棒哒,所以来找你帮忙了。

输入

第一行是一个数K

第二行是一个字符串str

0 < |str| ≤ 106

输出

一个数S,代表了满足条件的个数。

样例输入

2101010

样例输出

6
#include<cstring>  #include<cstdio>  using namespace std;  char str[1000005];  int main()  {      int k=0;      scanf("%d",&k);      scanf("%s",str);      int len=strlen(str);      int t=0,a,ans=0;      for(int i=0;i<len;i++){          a=0;              int j;          bool falg=false;          if(str[i]=='0') t++;          if(str[i]=='1'){              for(j=i;j<len;j++){                  if(str[j]=='1') a++;                  if(a==k){falg=true; break;}              }          }          if(falg){              ans+=(t+1);              for(j=j+1;j<len;j++){                  if(str[j]=='0'){                      ans+=(t+1);                  }                  else{t=0; break;}              }          }      }      printf("%d\n",ans);  }  


原创粉丝点击