CF1300A-Non-zero 思维

把所有0加成1,乘积不为0。

如果求和为0,就随便选一个正数再+1就行。如果没有正数,那么显然和为负数也不为0。

 1 #include <cstdio>
 2 using namespace std;
 3 int T,n,res,sum,a[110];
 4 int main()
 5 {
 6     for (scanf("%d",&T);T;T--)
 7     {
 8         res = sum = 0;
 9         scanf("%d",&n);
10         for (int i = 1;i <= n;i++)
11             scanf("%d",&a[i]);
12         for (int i = 1;i <= n;i++)
13         {
14             if (a[i] == 0)
15             {
16                 a[i]++;
17                 res++;
18             }
19             sum += a[i];
20         }
21         if (sum == 0)
22             res++;
23         printf("%d\n",res);
24     }
25     return 0;
26 }

猜你喜欢

转载自www.cnblogs.com/iat14/p/12289958.html