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;}