Untitled Web Page

とある高専生の割と誰得なウェブページです。

Problem 0003:Is it a Right Triangle?

問題

Is it a Right Triangle?

1000 以下の3つの正の整数を入力し、それぞれの長さを3辺とする三角形が直角三角形である場合には YES を、違う場合には NO と出力して終了するプログラムを作成して下さい。

Input

複数のデータセットが与えられます。1行目にデータセット数 N が与えられます。続いて N 行の入力が与えれます。各行に3つの整数が1つのスペースで区切られて与えられます。

Output

各データセットごとに、YES または NO を1行に出力して下さい。

Sample Input

3
4 3 5
4 3 6
8 8 8

Output for the Sample Input

YES
NO
NO

解法:愚直

三平方の定理を利用した。どの辺が斜辺であっても判定できるよう3通りすべて調べた。

#include <iostream>
using namespace std;

int main() {
   int n;
   int a, b, c;

   cin>>n;
   for (int i=0;i<n;i++) {
      cin>>a>>b>>c;
      if (a*a+b*b==c*c||b*b+c*c==a*a||c*c+a*a==b*b)
         cout<<"YES"<<endl;
      else
         cout<<"NO"<<endl;
   }
   return 0;
}