Codeforces Round #656 (Div. 3) A. Three Pairwise Maximums

题目链接: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" << "\n";
    } else {
        cout << "YES" << "\n";
        cout << a[0] << ' ' << a[2] << ' ' << 1 << "\n";
    }
}

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

 

posted @ 2020-07-18 01:00  Kanoon  阅读(229)  评论(0编辑  收藏  举报