2017网易内推笔试题---混合颜料

原创 2016年08月28日 15:14:00

[编程题] 混合颜料
你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的精神,你想购买更少的颜料就满足要求,所以兼职程序员的你需要编程来计算出最少需要购买几种颜色的颜料?
输入描述:

第一行为绘制这幅画需要的颜色种数n (1 ≤ n ≤ 50)
第二行为n个数xi(1 ≤ xi ≤ 1,000,000,000),表示需要的各种颜料.

输出描述:

输出最少需要在商店购买的颜料颜色种数,注意可能购买的颜色不一定会使用在画中,只是为了产生新的颜色。

输入例子:

3
1 7 3

输出例子:

3

解题思路:
输入是需要的颜色种类和需要的颜料编号,求最少需要多少种颜料。且提示A颜料异或B颜料能得到一种新的颜料,新颜料还可继续与其他颜料混合得到其他种颜料。这个情况就有点复杂了。如果只是考虑单一颜料,不考虑混合颜料,可以将所有颜料任取两种,取其异或得到的结果与需要的颜料比较,若存在,则将数目减一(若都不能由异或得到,那就需要买所有的颜料,这也是最不省钱的情况)。但是目前不是这样,异或后的结果还可以继续参与计算,这样情况就比较复杂。得换下思路。

真不会,看了答案也不是很懂。sign

网易2017内推笔试2:混合颜料 [python]

''' [编程题] 混合颜料 时间限制:1秒 空间限制:32768K 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。 你知道这幅画需...

网易2017内推笔试编程题合集(二)第一题 混合颜料

[编程题] 混合颜料 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜...

2017网易内推笔试题---星际穿越

航天飞行器是一项复杂而又精密的仪器,飞行器的损耗主要集中在发射和降落的过程,科学家根据实验数据估计,如果在发射过程中,产生了 x 程度的损耗,那么在降落的过程中就会产生 x^2 程度的损耗,如果飞船的...

2017网易互联网内推笔试题(奖学金问题)

//来源:网易 //奖学金 //题目描述:小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。 // 每门课由平时成绩和考试成绩组成,满分为r。现在...

网易2017内推笔试题-数字游戏

题目如下: 刚开始看到这个题的时候确实有点懵,最初的想法是要求出从w=[1-n],这个区间内所有位数相加的和,比如说当w=1时,那就是所有数字自身;当w=2时,那就是任意两个 数字的和;当...

网易笔试题--混合颜色(异或)

你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应...

网易笔试编程题-混合颜料

题目描述:你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能...

网易2017实习笔试题-CPU双核调度问题(动态规划解决)

题目的大概意思:一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放...

双核处理(网易2017春招笔试题)

一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理...

网易2017实习笔试题-CPU双核调度问题(动态规划解决)

题目的大概意思:一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2017网易内推笔试题---混合颜料
举报原因:
原因补充:

(最多只允许输入30个字)