简单题目,看出错误的接分
还是zoj的题目,问题是做出来后不知道哪里错!这样的结果最让人郁闷了,做acm的兄弟们,你们说是不是?
http://acm.zju.edu.cn/show_problem.php?pid=1569
意思是给出一串整数个数和一个整数(m),接着给出那串整数,让求它们的和里面,有几个可以被m整除.
偶的代码:
#include <iostream.h>
const int MAX=10001;
const int NUM=5001;
int main()
{
int a[MAX];
int sum[MAX];
int big[NUM];
int n,m;
while (cin>>n>>m)
{
if (n==0)
{
cout<<0<<endl;
}else
{
int i;
for (i=0;i<NUM;i++)
big[i]=0;
for (i=0;i<MAX;i++)
sum[i]=0;
cin>>a[0];
sum[0]=a[0]%m;
big[sum[0]]++;
for (i=1;i<n;i++)
{
cin>>a[i];
sum[i]=(sum[i-1]+a[i])%m;
big[sum[i]]++;
}
int num=big[0];
for (i=0;i<n;i++)
{
if (big[i]>0)
num+=big[i]*(big[i]-1)/2;
}
cout<<num<<endl;
}
}
return 0;
}
大家给看看,哪里错了,有通过的给出源码也可以:)