题目描述
在一个遥远的星球上,有一种独特的生物,他们被称为双形态生物。他们的形态会根据季节和时间的变化而变化。在非春天的时候,他们是十进制的人类,而在春天来临的时候,他们会转变为二进制的数字蛇。
这种数字蛇的特性非常独特。他们在人形态时是十进制的数字,而在蛇形态时,他们会变成这个数字的二进制表示。更令人惊奇的是,这些二进制数字蛇的身上有独特的花纹。比如,数字101的蛇, 他的长度为 3 ,他的第1部分会有的红色花纹,第2部分则有蓝色花纹,第3部分又有红色花纹。这种花纹的变化是由他们转化为二进制数字时该位的01决定的, 该位是1,就是红色,该位是0,就是蓝色。
在春天来临的时候,所有的数字人都会变成数字蛇,开始寻找心仪的对象。他们找对象有一个特别的规则:首先,他们会选择和自己长度相同的其他数字蛇;其次,他们会根据自己的花纹与对方花纹的位置相似度来决定是否喜欢对方。如果两条蛇的花纹相似度越高,那么他们就越有可能成为一对。 例如二进制数字蛇 111 在面对二进制数字蛇100和二进制数字蛇101时,就会更喜欢数字蛇101 。因为他们有两位是相似的,所以相似度为2,分别是第一位和第三位,而数字蛇100只有第一位和它是相似的,相似度为1.
然而,这个过程并不总是那么顺利。有些数字人的数字与心仪的母蛇不相似,结果就会被母蛇嫌弃,从而找不到对象,甚至可能单身一整年。豪豪就是其中的一个例子。他是一个善良而笨拙的年轻人,他也面临着同样的问题。为了解决这个问题,他找到了十里八村最有名的媒婆新新,希望他能帮他找到一个合适的对象。
新新是一个心地善良的媒婆,他不愿意看到豪豪因为这个问题而一直孤独下去。于是,他给豪豪介绍了 n 位长度为m的相亲对象,并且偷偷告诉了豪豪这些母蛇当天的十进制数字。新新告诉豪豪,他需要在第二天的清晨选择一个十进制数字,然后在相亲的时候展示出这个数字的二进制花纹,以此来吸引母蛇们的注意。
然而,豪豪并不知道应该选择哪一个数字。贪婪地他想要力所能及的吸引更多母蛇的注意。于是,他找到了你,希望你能帮他编写一个程序,通过分析各种可能的情况,为他推荐一个最合适的数字。
ps:慷慨的小x总怕你们读不懂题,于是在这里给你们简化下问题。简而言之,给你n个十进制数字xi,你需要转化成长度为ℓ的二进制数字(长度不够前边补0 ,二进制数长度不会长于ℓ),并且找到一个数字y ,使得所有xi与y的相似度和最大。
输入
第一行包含一个整数t(1≤t≤100) - 测试用例的数量。下面是测试用例的说明。
第一行包含两个整数n和 ℓ (1≤n≤100,1≤ℓ≤30)--相亲对象的数量和他们今天的数字所对应的二进制数字长度(二进制数字长度不够前边补0例如 ℓ = 5,xi = 2,则 xi 的二进制为00010)。
第二行包含 n 个整数xi( 0≤xi≤2ℓ−1)--数字形式。( 0≤xi≤2ℓ−1 ) - 第i个相亲对象的十进制数字。
输出
对于每个测试,打印一个整数,即单词的初始形式,即这样的y( 0<=y<=231−1) 使得所有x与y 相似度和最高。注意y可以不同于所有整数x。
如果有多种挑选数字的方法,请打印红色最多的一种(二进制中1最多的一种)。
7
3 5
18 9 21
3 5
18 18 18
1 1
1
5 30
1 2 3 4 5
6 10
99 35 85 46 78 55
2 1
0 1
8 8
5 16 42 15 83 65 78 42
提示
在第一个测试用例中,可以找的二进制为10001 。第一条蛇和y有3个相似花纹。第二条与y有3个相似花纹。第三条与y有4个相似花纹。 因此,接近度为3+3+4=10。通过尝试,你再也不可能得到更大的接近度。
Notice:在调用函数时,如果你的函数没有返回值,请不要使用除void之外的类型。相反,如果你的函数带回了一个值,那么请一定不要使用void。否则会运行错误!!!
如果你没有注意,在编译器上编译运行编译器会给予警告,仍可以输出正确答案,但是在本平台会报错,程序会立刻终止运行(Runtime Error)。