ふみをチャレンジ[4]
三日坊主打破。ロックマンエグゼ2もついに最終話に突入して…ちょっとゲームしすぎかな。明日から大学だというのに。朝起きられるかなあ…
答案
C
#include <stdio.h> int main() { int n, a, b, c; scanf("%d", &n); while(n > 0) { scanf("%d %d %d", &a, &b, &c); a *= a; b *= b; c *= c; if(a == b + c || b == c + a || c == a + b) { printf("YES\n"); } else { printf("NO\n"); } n--; } return 0; }
反省
a2 + b2 = c2を利用すればいいとはすぐ分かったけど、斜辺をどうやって判定しようか…と考えてたら、なるほど、全部ORで繋いじゃったらいいんだ。ソートしたり最大の値を探すことも考えたけど、この方法が一番スマートだね。