首页 > 广联达7.29 笔试 -- 编程真难啊(附上题目求解答)
头像
Yasu0
编辑于 2020-07-29 21:09
+ 关注

广联达7.29 笔试 -- 编程真难啊(附上题目求解答) 投票


看了下上次的,好像上次没那么难啊。。。
这次题目都读不太懂,样例都过 ,不知道题目意思,GG 。。 。


-- 21:05 最后去考的都进系统了,上题目, 第一题没记。。。--

第二题
各不相同
时间限制: 3000MS
题目描述:
我们希望一个序列中的元素是各不相同的,但是理想和现实往往是有差距的。现在给出一个序列A,其中难免有些相同的元素,现在提供了一种变化方式,使得经过若干次操作后一定可以得到一个元素各不相同的序列。
这个操作是这样的,令x为序列中最小的有重复的数字,你需要删除序列左数第一个x,并把第二个x替换为2x。
请你输出最终的序列。
例如原序列是[2,2,1,1,1],一次变换后变为[2,2,2,1],两次变换后变为[4,2,1],变换结束

输入描述
输入第一行包含一个正整数n,表示序列的长度为n。(1<=n<=50000)
第二行有n个整数,初始序列中的元素。(1<=a_i<=10^8)
输出描述
输出包含若干个整数,即最终变换之后的结果。
第三题
堆积木
时间限制: 3000MS
题目描述:
同同在玩积木,每个积木上都有一个独一无二的二进制数字。同同的积木有特殊的规则,只有满足规则的积木才能被垒到一起。
对于一个积木,如果积木上写的数字是a,则对于所有的写着数字b的积木,只要满足a∩b=b,其中∩代表二进制与运算,则积木b可以放到积木a的上面。每一堆积木最多仅有一个积木可以充当底座,被放在底座上的所有积木都必须满足上述关系。(只要底座和积木满足关系即可以放在一堆,不需要考虑如何码放)
同同有一只笔,只能使用一次,效果是把某一个积木上数字的某一位从0改成1或者从1改成0。请问同同最少能让积木分在几堆里。
二进制与运算的定义:对于两个数a,b,写出它们的二进制形式a0a1am...和b0b1bm,设c 为与运算的结果,则有当a0和b0同时为1 时c0为1,其他位同理。

输入描述
第一行两个数n,m(1≤m≤20,1≤n≤min(105,2m)),分别代表积木的数量和积木上数字对应二进制位最多有几位
第二行n个整数a1,a2,...,an(0≤ai≤2m),代表每个积木上写的二进制数字的十进制表示形式。
输入保证每个积木上的数字不重复。
输出描述
一行一个整数代表最少的堆数。

全部评论

(17) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐