返回顶部

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

  • 题意:给你三个正整数\(x\),\(y\),\(z\),问能够找到三个正整数\(a\),\(b\),\(c\),使得\(x=max(a,b)\),\(y=max(a,c)\),\(z=max(b,c)\).

  • 题解:容易看出,\(a,b,c\)中最大的数一定会在\(x,y,z\)中出现两次,所以我们只要判断\(x,y,z\)中最大的两个数是否相等即可,如果满足,输出最大值和最小值和一个\(1\).

  • 代码:

    int t;
    int a[3];
    
    int main() {
        ios::sync_with_stdio(false);cin.tie(0);
      	cin>>t;
      	 while(t--){
      	 	cin>>a[0]>>a[1]>>a[2];
      	 	sort(a,a+3);
      	 	if(a[2]==a[1] && a[1]>=a[0]){
      	 		cout<<"YES"<<endl;
      	 		cout<<a[2]<<" "<<a[0]<<" "<<1<<endl;
      	 	}
      	 	else cout<<"NO"<<endl;
    
      	 }
    
        return 0;
    }
    
posted @ 2020-07-18 01:00  _Kolibri  阅读(170)  评论(0)    收藏  举报