题目描述

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


输入描述

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

输出描述

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

示例1

输入

    31 7 3

输出

    3

示例2

输入

    151 2 3 4 5 6 7 8 9 10 11 12 13 14 15

输出

    4

python代码

    number=raw_input("")
values=raw_input("").split()
values=[int(x) for x in values]
values=list(set(values))
values.sort()
values=values[::-1]
data=[list(bin(x).replace("0b","")) for x in values]
data_new=[]
for line in data:length=len(line)temp_line=["0"]*(32-length)temp_line.extend(line)temp_line=[int(x) for x in temp_line]data_new.append(temp_line)
def change_two_line(line,m,n):temp_m=line[m]temp_n=line[n]line[m]=temp_nline[n]=temp_mreturn line
def find_best(line):k=0step=0count=0for i in range(32):count+=1k=stepwhile  k<len(line) and line[k][i]!=1:k+=1if k==len(line):count-=1continueline=change_two_line(line,step,k)for j in range(step+1,len(line)):if line[j][i]==0:continueelse:for  p in range(32):line[j][p]^=line[step][p]step+=1return count
print find_best(data_new)

混合颜料-python实现相关推荐

  1. 混合颜料-python

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

  2. 2017校招-混合颜料

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

  3. 混合颜料(求线性组的基)

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

  4. 网易笔试——混合颜料

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

  5. 网易笔试题:混合颜料

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

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

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

  7. 2017校招题目 混合颜料

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

  8. 最大线性无关组-混合颜料

    题目描述 用正整数表示不同颜色的颜料.这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料.混合两种不一样的颜色A和颜色B颜料可以 ...

  9. 网易笔试题 混合颜料

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

  10. python和c语言混合编程-python和C语言混编的几种方式

    版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖.如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7594551.html 作者:窗户 Q ...

最新文章

  1. 【Qt】在ubuntu上打包发布Qt程序,可以不依赖Qt环境
  2. 40 自动化运维工具Ansible
  3. UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
  4. iPad的无纸化办公和纯纸化办公的区别和使用场景
  5. Python2 包的安装
  6. 3d激光雷达开发(平面分割)
  7. 详解iPhone Tableview分批显示数据
  8. UVA10168 Summation of Four Primes【筛选法】
  9. basic4android 开发 使用类库方法
  10. php怎么将农历转换成公历,php实现阳历阴历互转的方法
  11. Buildroot笔记
  12. ITEXT7 实现 PDF文档的合并与拆分
  13. 猫云bootcdn.cn
  14. 小米的隔空充电技术或许是概念产品,需要跨越的技术难点太多
  15. mysql 加上天数_MySQL Datetime添加天数?
  16. 【Protle99SE】PCB中各层的含义【小汇】
  17. cuda pytorch 环境变量_Windows10+CUDA 10.1.0+pytorch安装过程
  18. Mangopi MQ-R:T113-s3编译Tina Linux系统
  19. 高效管理顾客体验,提升顾客转化的王牌选择
  20. android 商城评价,打开应用商店对应用进行评价

热门文章

  1. 60、JAVA的map集合
  2. Java写的一个简易木马(仅供自娱自乐)(基于UDP实现版)
  3. 2017年计算机二级有什么好处,2017年计算机二级考试备考的五大法宝
  4. 工作流——流程设计器
  5. 萌新入坑第一课——如何写技术博客
  6. 高级辅助驾驶(ADAS)整理(炒鸡详细)
  7. Microsoft Excel 教程:如何在 Excel 中筛选唯一值或删除重复值?
  8. 应届生如何快速提高职业竞争力
  9. win10怎么取消小箭头_已取消到该网页的导航,小编教你网页提示已取消到该网页的导航怎么办...
  10. 经典网页三剑客html、css 和 JavaScript实现的导航网页