62,625
社区成员
发帖
与我相关
我的任务
分享
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
int n=s.nextInt(); //测试次数
List<Integer> s1=new ArrayList<Integer>();
List<Integer> s2=new ArrayList<Integer>();
List<Integer> s3=new ArrayList<Integer>();
int x1,x2; //记录集合A和集合B的元素个数
int k1,k2; //向集合中存储元素临时变量
int m,min,minNum; //用来存储位异或后的结果
while((n--)!=0){
x1=s.nextInt();
x2=s.nextInt();
k1=0;
while(k1<x1){
k2=s.nextInt();
s1.add(k2);
k1++;
}
k1=0;
while(k1<x2){
k2=s.nextInt();
s2.add(k2);
k1++;
}
for(Integer i:s2){
min=Integer.MAX_VALUE;
minNum=0;
for(Integer j:s1){
m=i^j;
if(Integer.bitCount(m)<min){
min=Integer.bitCount(m);
minNum=j;
}
}
s3.add(minNum);
}
s1.clear();
s2.clear();
}
for(Integer i:s3){
System.out.println(i);
}
}
}