CF6A Triangle

发布于 2019-04-05  9 次阅读


其实这题真没什么难的,主要想说说读题。

如果它们无法组成三角形,但是它们中存在3根木棍可以组成退化的三角形(任意两边之和大于等于第三边,但是不是三角形)

单独这句话什么意思?就是退化的三角形一定是个三角形。
看英文:

However, after a while he found out that different tricky things can occur. It can happen that it is impossible to construct a triangle of a positive area, but it is possible to construct a degenerate triangle. It can be so, that it is impossible to construct a degenerate triangle even.

也就是说,两条边加起来等于第三边就是退化三角形。
所以枚举即可。
Code:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<algorithm>
#define LL long long
#define maxn 10001
using namespace std;
int a[5];
int main(){
    for(int i=1;i<=4;i++){
        cin>>a[i];
    }
    sort(a+1,a+5);
    for(int i=1;i<=4;i++){
        for(int j=i+1;j<=4;j++){
            for(int k=j+1;k<=4;k++){
                if(a[i]+a[j]>a[k]){
                    cout<<"TRIANGLE"<<endl;
                    return 0;
                }
            }
        }
    }
    for(int i=1;i<=4;i++){
        for(int j=i+1;j<=4;j++){
            for(int k=j+1;k<=4;k++){
                if(a[i]+a[j]==a[k]){
                    cout<<"SEGMENT"<<endl;
                    return 0;
                }
            }
        }
    }
    cout<<"IMPOSSIBLE"<<endl;
    return 0; 
}

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。