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 }
心之所动 且就随缘去吧