1.练习项目:
问题描述
小蓝和小桥是游戏世界里的两个好友,他们正在玩一个有趣的挑战。他们手中有一个长度为 n 的神秘物品序列,每个物品都有一个数字 ai 表示它的价值。他们可以执行以下操作:
- 选择一个物品,并将其价值加 1。
小蓝和小桥希望通过若干次操作使得这个序列的价值之和与价值的积都不为 0。
请你帮他们计算,至少需要执行多少次操作才能完成这个挑战。
输入格式
第一行包含一个整数 t(1≤t≤100),表示测试用例的数量。
接下来 t 行,每行包含两行数据,第一行为一个整数 n(1≤n≤1000),表示物品的数量。第二行为 n 个整数 a1,a2,…,an(−1000≤ai≤1000),表示初始的物品价值。
输出格式
对于每个测试用例,输出一行一个整数,表示至少需要执行的操作次数。
2.选择课程
在蓝桥云课中选择课程《16届蓝桥杯省赛无忧班(C&C++ 组)4期》,选择第二章“基础算法”编程15并开始练习。
3.开始练习
(1)源码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e3;
int a[N];
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int t,sum=0;
cin>>t;
for(int i=0;i<t;i++){
int n,ans=0;
cin>>n;
for(int j=0;j<n;j++){
cin>>a[j];
if(a[j]==0){
a[j]++;
ans++;
}
sum+=a[j];
}
if(sum==0){
ans++;
}
cout<<ans<<'\n';
}
return 0;
}
(2)检验结果
对此代码进行检验,检验后无报错,提交此代码,判题结果为正确100分。
(3)练习心得:注意每段代码末尾的分号是否存在,如不存在则需即使补充;输入法是否切换为英语模式;语法是否错误。