hdu 4712 随机算法

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 110000
int a[N];
int answer(int k) {
int sum=0;
while(k) {
    sum+=k%2;
    k/=2;
}
return sum;
}
int Min(int aa,int bb) {
return aa>bb?bb:aa;
}
int main(){
       int t,i,j,n,k,minn;
       scanf("%d",&t);
       while(t--) {
        scanf("%d",&n);
        for(i=1;i<=n;i++)
            scanf("%X",&a[i]);
            minn=100000000;
        for(i=1;i<=150000;i++) {
            j=rand()%n+1;
            k=rand()%n+1;
            if(j==k)j=j%n+1;
            minn=Min(minn,answer(a[j]^a[k]));
        }
        printf("%d
",minn);
       }
return 0;}

原文地址:https://www.cnblogs.com/thefirstfeeling/p/4410553.html