《补题》(牛客:清楚姐姐的三角形I)

88 阅读1分钟

思维

#include <bits/stdc++.h>

using namespace std;

bool check(int a[]) {
	if (a[0] <= 0 || a[1] <= 0 || a[2] <= 0) {
		return false;
	}
	else {
		if (a[0] + a[1] <= a[2]) {
			return false;
		}
		else {
			return true;
		}
	}
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int t;
	cin >> t;

	while (t --) {
		int Va, Vb, Vc;
		cin >> Va >> Vb >> Vc;

		int a[3] = {0};

		a[0] = Vb - Va + Vc, a[1] = Va - Vb + Vc, a[2] = Vb - Vc + Va;
		int q = a[0], w = a[1], e = a[2];

		if ((a[0] & 1) || (a[1] & 1) || (a[2] & 1)) {
			cout << "No" << endl;
		}
		else {
			a[0] /= 2, a[1] /= 2, a[2] /= 2;

			sort(a, a + 3);

			if (check(a)) {
				cout << "Yes" << endl;
				cout << q / 2 << ' ' << w / 2 << ' ' << e / 2 << endl;
			}
			else {
				cout << "No" << endl;
			}
		}
	}

	return 0;
}
}