#include <iostream> #include <iomanip> #include <algorithm> using namespace std; int main() { int a, b, c; cin >> a >> b >> c; // 将三边按从小到大排序 int sides[3] = {a, b, c}; sort(sides, sides + 3); a = sides[0]; b = sides[1]; c = sides[2]; // 判断是否能构成直角三角形 if (a * a + b * b == c * c) { double area = 0.5 * a * b; cout << fixed << setprecision(1) << area << endl; } else { cout << "No" << endl; } return 0; } /************************************************************** Problem: 1047 User: linmiaoling Language: C++ Result: Accepted Time:12 ms Memory:2076 kb ****************************************************************/