Codeforces Round #656 (Div. 3) A. Three Pairwise Maximums
阅读原文时间:2023年07月08日阅读:1

题目链接:https://codeforces.com/contest/1385/problem/A

题意

给出三个正整数 $x,y,z$,找出三个正整数 $a,b,c$ 使得 $x = max(a, b), y = max(a, c), z = max(b, c)$ 。

题解

假设有 $a \le b \le c$ 满足条件,那么 $x,y,z$ 中一定会有两个 $c$,一个 $b$,$a$ 的范围为 $[1,b]$ 。

代码

#include
using namespace std;

void solve() {
int a[3] = {}; cin >> a[0] >> a[1] >> a[2];
sort(a, a + 3);
if (a[1] != a[2]) {
cout << "NO" << "\n";
} else {
cout << "YES" << "\n";
cout << a[0] << ' ' << a[2] << ' ' << 1 << "\n";
}
}

int main() {
int t; cin >> t;
while (t--) solve();
}