hdu 3711 暴力

#include<stdio.h>
#include<algorithm>
using namespace std;

int m,n;
int a[105],b[105];
int diff,ans;

int solve(int x,int y)
{
    int temp;
    int d=0;
    temp=(x^y);
    if(temp&1)
        d++;
    while(temp)
    {
        if((temp>>1)&1)
            d++;
        temp>>=1;
    }
    return d;
}

int main()
{
    int T;
    int i,j,temp,s;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d%d",&m,&n);
        for(i=0;i<m;i++)
            scanf("%d",&a[i]);
        sort(a,a+m);
        for(j=0;j<n;j++)
            scanf("%d",&b[j]);
        for(i=0;i<n;i++)
        {
            diff=1000000;
            s=555;
            for(j=0;j<m;j++)
            {
                temp=solve(a[j],b[i]);
                if(temp<diff)
                {
                    diff=temp;
                    s=a[j];
                }
            }
            printf("%d\n",s);
        }
    }
    return  0;
} 


posted @ 2011-10-18 19:29  Because Of You  Views(283)  Comments(0Edit  收藏  举报