**这次周赛只能做出来一道,,,还是太菜
第一道:**
给定 n 个整数三元组 (xi,yi,zi)。
请你判断这些整数三元组是否能够同时满足以下三个条件:
所有 xi 相加之和为 0。
所有 yi 相加之和为 0。
所有 zi 相加之和为 0。
输入格式
第一行包含整数 n。
接下来 n 行,每行包含三个整数 xi,yi,zi。
输出格式
如果能够同时满足三个条件,则输出 YES,否则输出 NO。
数据范围
前三个测试点满足 1≤n≤10。
所有测试点满足 1≤n≤100,−100≤xi,yi,zi≤100。
输入样例1:
4
3 -1 7
-5 2 -4
0 -2 -1
2 1 -2
输出样例1:
YES
输入样例2:
3
4 1 7
-2 4 -1
1 -5 -3
输出样例2:
NO
思路:这道题本身不难,我刚好开始想到笨方法:用啥东西存储起来再单独拿出来相加,但是我又想到:既然每一个相加为零那么总和为零不就行了,我点击测试,显示正确,但是提交的时候,显示错误,我就再想,突然我想到,有没有碰巧第一列为-1,而第二三列有一列为1,另一列为0,正好全部相加为零,但是又不符合题目要求,所以,又回到了起点,只能找东西储存起来,在之后相加判断了(emo。。。)
源代码:
include
include
include
using namespace std;
int main()
{
int n,sum;
cin >> n;
int a[n][3];
for (int i = 0; i < n; i ++ )
{
for (int j = 0; j <3; j ++ )
{
cin >>a[i][j];
}
}
for (int i = 0; i < 3; i ++ )
{
sum=0;
for (int j = 0; j < n; j ++ )
{
sum=sum+a[j][i];
}
if(sum==0)
{
continue;
}else{
break;
}
}
if(sum==0)
{
cout << "YES"<<endl;
}else
{
cout << "NO"<<endl;
}
return 0;
}
如果有其他解,欢迎在评论区留言!
最后一次更新于2022-01-21
0 条评论