nyist 590 相同的和
- http://acm.nyist.net/JudgeOnline/problem.php?pid=590
- 描述
-
给出一些数a1,a2,a3,a4.....,an,如果一个连续的字串的和等于常数m,那么这个子串就是我们想要的,那么问题很简单,请求出这样字串的个数?
例如:3,4,1,6,2,5,m的值为7时,连续字串分别为{3,4},{1,6},{2,5}满足
- 输入
- 每种情况,第一行2个数n,m,n表示有多少个数,m是常数(有多组测试数据)
第二行是n个数的值 (所有的数小于1000)
- 输出
- 每种情况个数
- input:
- 5 6
- 4 2 4 3 3
- 5 7
- 4 2 3 2 7
- output:
- 2
- 2
- 代码:
- #include<stdio.h>
#define N 100000
int a[N];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF)
{
int i,j;
for(i =0; i < n; i++ )
scanf("%d",&a[i]);
int t = 0, s = 0;
for( j = 0; j < n; )
for(i = j; i < n; i++ ) {
s += a[i];
if(s==m)
{
t++;
s = 0;
j = i + 1;
break;
}
else if(s > m) {s = 0; j++; break;}
}
printf("%d\n",t);
}
return 0;
}
yy_room