hdu 3711

来源:互联网 发布:java web用户登录注册 编辑:程序博客网 时间:2024/06/05 04:40
#include<stdio.h>#include<math.h>#include<stdlib.h>int cmp(const void *a,const void *b) {    return *(int *)a-*(int *)b;}int seach(int n,int m) {    int sum=0,n_x,m_x;    while(n||m) {        n_x=n%2;        m_x=m%2;        n/=2;        m/=2;           if(n_x!=m_x)               sum++;    }    return sum;}int main() {    int i,j,n,m,a[1001],b[1001],min,ma,ma_x,t;    scanf("%d",&t);    while(t--) {    scanf("%d%d",&m,&n);    for(i=0;i<m;i++)        scanf("%d",&a[i]);    for(j=0;j<n;j++)        scanf("%d",&b[j]);    qsort(a,m,sizeof(a[0]),cmp);          for(i=0;i<n;i++) {              min=10000001;              for(j=0;j<m;j++) {                  ma=seach(b[i],a[j]);                  if(ma<min) {                      min=ma;                      ma_x=a[j];                  }              }              printf("%d\n",ma_x);          }    }    return 0;}