Chip Factory

题目大意:给定数组找出三个数a[i],a[j],a[k];使的(a[i]+a[j])^a[k]最大

http://acm.hdu.edu.cn/showproblem.php?pid=5536

可以暴力。。。。。。

#include <bits/stdc++.h>
using namespace std;
int a[2000];
int main(){
    int t;
    scanf("%d",&t);
    while(t--){
        int n;
        scanf("%d",&n);
        int mmax=0;
        for(int i=0;i<=n-1;i++)
            scanf("%d",&a[i]);
        for(int i=0;i<=n-1;i++)
            for(int j=i+1;j<=n-1;j++)
                for(int k=j+1;k<=n-1;k++){
                    mmax=max(mmax,(a[i]+a[j])^a[k]);
                    mmax=max(mmax,(a[i]+a[k])^a[j]);
                    mmax=max(mmax,(a[j]+a[k])^a[i]);
                }
        printf("%d\n",mmax);
    }
}

猜你喜欢

转载自blog.csdn.net/doublekillyeye/article/details/82220716
今日推荐