第2 - N + 1行:Aii(-10^9 <= Aii <= 10^9)
如果有多个,按照3个数中最小的数从小到大排序,如果最小的数相等则继续按照第二小的数排序。每行3个数,中间用空格分隔,并且这3个数按照从小到大的顺序排列。
7 -3 -2 -1 0 1 2 3
-3 0 3 -3 1 2 -2 -1 3 -2 0 2 -1 0 1
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
long long int a[1521];
//N只有1000个,所以可以用暴力解决//
int main()
{
int N;
cin >> N;
int ans = 1;
for(int i = 1 ;i <= N; i++)
{
cin >> a[i];
}
sort(a+1,a+N+1);//默认从小到大排序//
for(int i = 1 ;i <= N; i++)
{
for(int j = i+1 ; j <= N;j++)
{
for(int k = j + 1 ;k <= N;k++)
{
if(a[i] + a[j] + a[k] == 0)
{
cout << a[i] <<" "<<a[j]<<" "<< a[k] <<endl;
ans++;
}
}
}
}
if(ans == 1)
cout <<"No Solution"<<endl;
return 0;
}
729

被折叠的 条评论
为什么被折叠?



