题目描述
牛牛有一个数组长度大小为n,数组中有n个正整数。现在牛牛请你从其中选出三个元素(注意选择元素的下标不能相同,但是其值可以相同)组成一个三角形。
无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。
如果有多种组成三角形的元素组合,你可以输出任意一种
思路:
n范围很小,排序下,n^3判断即可。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;cin>>n;
vector<int> a(n);
int flag=0;
for(auto &x:a) cin>>x;
sort(a.begin(),a.end());
for(int i=0;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]){
cout<<a[i]<<" "<<a[j]<<" "<<a[k];
return 0;
}
}
}
}
cout<<"No solution";
return 0;
}
京公网安备 11010502036488号