三角形存在性定理。(说实话题目太绕。。那个degenerate查了半天楞是没弄明白。。后来一猜居然猜对了- -)
#include "stdio.h"
int judge(int x,int y,int z){
if(x+y<z)return -1;
if(x+y==z)return 0;
if((x+y>z)&&(z-x<y))return 1;
}
int main(){
int a,b,c,d,flag;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){flag=a;a=b;b=flag;}
if(c>d){flag=c;c=d;d=flag;}
if(b>c){flag=b;b=c;c=flag;}
if(a>b){flag=a;a=b;b=flag;}
if(c>d){flag=c;c=d;d=flag;}
if(b>c){flag=b;b=c;c=flag;}
flag=-1;
switch(judge(a,b,c)) {
case 0:flag=0;break;
case 1:flag=1;break;
default:break;
}
switch(judge(a,b,d)) {
case 0:flag=0;break;
case 1:flag=1;break;
default:break;
}
switch(judge(a,c,d)) {
case 0:flag=0;break;
case 1:flag=1;break;
default:break;
}
switch(judge(b,c,d)) {
case 0:flag=0;break;
case 1:flag=1;break;
default:break;
}
if(flag==0)printf("SEGMENT");
else if (flag==1)printf("TRIANGLE");
else printf("IMPOSSIBLE");
return 0;
}