题目大意:给定数组找出三个数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);
}
}