题目描述
牛牛有一个数组长度大小为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; }