【基础题】牛牛的三角形

牛牛的三角形

https://ac.nowcoder.com/acm/contest/5531/A


题目描述

牛牛有一个数组长度大小为n,数组中有n个正整数。现在牛牛请你从其中选出三个元素(注意选择元素的下标不能相同,但是其值可以相同)组成一个三角形。

无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。

如果有多种组成三角形的元素组合,你可以输出任意一种

输入描述:

	

第一行是一个正整数n,(3≤n≤10^2)表示数组的元素个数。 接下来一行输入n个正整数ai,(1≤ai≤10^9)表示每个数组元素的值。

输出描述:

	

如无法做到,请输出一行一个字符串"No solution",反之请输出这三个元素的值。

如果有多种组成三角形的元素组合,你可以输出任意一种。

示例1

输入

复制 
5
2 2 3 2 2

输出

复制
2 2 3

说明

使用2 2 3,可以组成一个三角形
示例2

输入

复制
3
1 2 1

输出

复制
No solution

说明

1 2 1不能组成一个三角形,无解。

这道题可以说就是纯暴力,数据规模较小,可以直接套3个for循环就好了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    ll n,i,j,k;
    cin>>n;
    ll a[n];
    sort(a,a+n);
    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    ll flag=1;
    for(i=0;i<n;i++)
    {
        for(j=i;j<n;j++)
        {
            for(k=j;k<n;k++)
            {
                if(i!=j&&i!=k&&j!=k&&flag)
                {
                    if(a[i]+a[j]>a[k]&&a[i]-a[j]<a[k]&&a[i]-a[k]<a[j]&&a[j]-a[k]<a[i])
                    {
                        flag=0;
                        cout<<a[i]<<" "<<a[j]<<" "<<a[k]<<endl;
                        break;
                    }
                }
            }
        }
    }
    if(flag)
    {
        cout<<"No solution"<<endl;
    }
}


全部评论

相关推荐

2024-11-29 19:51
武汉理工大学 Java
野猪不是猪🐗:自从我把自己的学校和专业改成现在这个,求职那栏就再也没人骚扰过我(乐)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务