题目链接: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 <bits/stdc++.h> 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" << " "; } else { cout << "YES" << " "; cout << a[0] << ' ' << a[2] << ' ' << 1 << " "; } } int main() { int t; cin >> t; while (t--) solve(); }