三角形判断 C++ 简单题

int a,b,c;
cin>>a>>b>>c;
if(a+b>c&&a+c>b&&b+c>a){
    if(a==b&&b==c)
    cout<<"DB"<<" ";
    if((a==b&&b!=c)||(a==c&&a!=b)||(c==b&&b!=a))
    cout<<"DY"<<" ";
    if(a*a+b*b==c*c||a*a+c*c==b*b||c*c+b*b==a*a)
    cout<<"ZJ"<<" ";
    else
    cout<<"YB"<<" ";
}
else
cout<<"NO"<<" ";

还有那种情况没考虑呢?提交总是不通过。

供参考:

#include<iostream>
using namespace std;

int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    if(a+b>c && a+c>b && b+c>a)
    {
           if(a==b && a==c)
              cout<<"DB"<<endl;
      else if(a == b || a == c || b == c)
              cout<<"DY"<<endl;
      else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))
              cout<<"ZJ"<<endl;
      else    cout<<"YB"<<endl;
    }
    else      cout<<"NO"<<endl;
    
    return 0;
}

题目有没有规定等腰直角三角形算哪种呢?