[codeforces 1300A] Non-zero (0+和)的处理
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
在线测评地址https://codeforces.ml/contest/1300/problem/A
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
A - Non-zero | GNU C++11 | Accepted | 31 ms | 0 KB |
(0+和)的处理
元素若为0,需处理1次.有几个元素为0,就需处理几次.目的:保证乘积不为0.
接上面处理,将各个元素加起来,若最后和为0,需处理1次.保证元素和不为0.
该题的思路介绍完了。
#include <stdio.h>
int a;
int main(){
int t,i,n,cnt,sum;
scanf("%d",&t);
while(t--){
scanf("%d",&n),cnt=0,sum=0;
for(i=1;i<=n;i++){
scanf("%d",&a);
if(a==0)cnt++,sum+=1;
else sum+=a;
}
if(sum==0)cnt++;
printf("%d\n",cnt);
}
return 0;
}