题目描述

小X在野外遇到了一种神奇的牛,并将其命名为“神牛”。 神牛都长着B只角,B只角从左到右在头顶上排成一排。每只角上都标着数字,不是0就是1。小X将每头神牛的B只角上的数字从左到右依次取出,组成一个只含0或1的B位二进制数。小X将这个二进制数转化为十进制,用这个十进制数来代表一头神牛,这个十进制就是这头神牛的编号。 神牛们之间的关系是很微妙的,如果两头神牛的第i只角上的数字不同,则称这两头神牛的第i只角是不一样的。如果两头神牛不同的角的数目大于等于D,则称这两头神牛是友好的。比如当B=8,D=2时, 01010100 00110100 xx 这两头神牛的第2和第3只角不同(x指向的位置),不同的角的数目为2,所以这两头神牛是友好的。 现在小X向你求助:请找出N头神牛,使得任意两头神牛都是友好的,并将这N头神牛的编号按从小到大排序后依次输出。如果有多种符合条件的解,那么排在越前面的牛的编号越小越好。

输入

输入仅有一行包含3个用空格隔开的正整数,分别表示 N, B, D。

输出

输出仅有一行包含N个非负整数,相邻两个数之间用一个空格隔开,表示N头神牛的编号。如果有多解,你的程序要输出这样的解:越前面的牛的编号越小越好。

样例输入

3 5 3

样例输出

0 7 25

提示

每头神牛都长着7只角,若两头神牛不同的角的数目大于等于3,则这两头神牛是友好的。现在要找出16头相互都友好的神牛。 答案是0000000, 0000111, 0011001, 0011110, 0101010, 0101101, 0110011, 0110100, 1001011, 1001100, 1010010, 1010101, 1100001, 1100110, 1111000, 1111111,转化为十进制就是0 7 25 30 42 45 51 52 75 76 82 85 97 102 120 127

对于30%的数据,1<=D<=B<=8,1<=N<=3 对于另外10%的数据,D=1 对于另外30%的数据,D=2 对于100%的数据,1<=D<=B<=8, 1<=N<=16 数据保证有解。

没错我又来水新生题啦 有个生成二进制的快速算法记一下

#include

#define ll long long

using namespace std;

int ans[18];

vectorvtt;

int n,b,d,pos;

bool check(string p,string q){

int res=0;

for(register int i=0;i<=b;++i){

if(p[i]!=q[i]){

res++;

}

}

if(res>=d){

return true;

}

return false;

}

void gaonum(int k){

string a;

for(int i=b-1;i>=0;--i){

a+=('0'+(k>>i&1));

}

for(int i=0;i

if(!check(a,vtt[i])){

return;

}

}

vtt.push_back(a);

ans[pos++]=k;

}

int main(){

ios::sync_with_stdio(false);

cin.tie(0);

cin>>n>>b>>d;

int ed=(1<

for(int i=0;i

gaonum(i);

}

for(int i=0;i

cout<

}

}

小x与三角形 c语言 1秒,[2019年第一水] 小x与神牛相关推荐

  1. C语言二级背诵小抄,计算机二级C语言上题库(可缩印做小抄)百分百准确.doc

    计算机二级C语言上题库(可缩印做小抄)百分百准确 第一套 程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号.姓名和三门课的成绩.函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典 ...

  2. 微信小程序开发(一):环境搭建和第一个小程序创建

    0 概览: 简介:微信小程序是微信里面的app,16年推出 竞品: 支付宝小程序 ,钉钉,美团,头条,抖音qq小程序 优点:1,在微信里面自由分享,2,不用下载app, 3,能快速的开发,使用微信的a ...

  3. java中如何运行小程序_一起学java(一)——运行第一个小程序

    接下来的一段时间内会更新一起学java系列,喜欢的关注一下我吧.微信公众号:什么都不懂的大佬:初学,有错误的地方请大家多多指教. ---------------分割线-------------- 一. ...

  4. 小程序开发语言python_微信小程序是用什么语言开发的呢

    原标题:微信小程序是用什么语言开发的呢 说到微信小程序可能大部分只是一知半解,您是否清楚小程序是用什么来开发的?如果您不太清楚,那么多美源小程序小编来告诉您小程序开的具体. 微信小程序是什么语言开发的 ...

  5. Java小游戏——是男人就坚持20秒

    Java小游戏--是男人就坚持20秒 给大家分享一个小游戏,这是一个Swing项目,先用代码画界面板,然后依次添加飞机.子弹.计时器等: 代码如下: /** 程序的主窗体*/ public class ...

  6. python 禁用网卡_C#语言实现定时开启或禁用网卡小程序

    C#语言实现定时开启/禁用网卡 程序运行效果图 程序实现主要代码 源代码工程文件(VS2013工程文件编译通过) 查看网卡名称附图 1.win7旗舰版运行效果图: 2.程序实现主要代码: /// 网卡 ...

  7. C语言实现秒与时间的互相转换

    C语言实现秒与时间的互相转换 工作中遇到实时时间的显示,MCU中使用1s计数值累加实现秒钟的每秒累加.因此需要用到秒数值与具体时间日期的互相转换,在网上找的例程跑起来总是各种各样的小错误,浪费了大量的 ...

  8. 教你如何用C语言设计一个有趣的猜数字小游戏

    目录 前言 猜数字游戏 打印菜单 处理玩家选择的操作 编写猜数字游戏函数 游戏中要猜数字从哪来?(配置随机数生成器) 时间戳 开始生成随机数 game函数内部编写 完整代码 总结 前言 好久不见,今天 ...

  9. 飞机躲避小游戏---是男人就撑100秒的制作

    飞机躲避小游戏---是男人就撑100秒的制作 EmilMatthew(EmilMatthew@126.com) 摘要:  可以将这个游戏的整体运作看成一个粒子系统,再加上子弹和飞机的碰撞判定即可.简单 ...

最新文章

  1. jvm性能调优 - 01类加载机制Review
  2. table取tr对象 vue_javascript的DOM对象终极总结:你必看的js面向对象
  3. 网络调试指令ping、telnet、curl
  4. java qq通信_结对博客(Java通信项目QQ)
  5. 【日语笔记】日常日语
  6. 容器编排技术 -- Kubernetes 给容器和Pod分配内存资源
  7. Git学习文档之二 应用总结-svn迁移到git
  8. 乘风破浪:LeetCode真题_027_Remove Element
  9. Java后端开发笔试题
  10. php 中标麒麟龙芯5.0,中标麒麟桌面操作系统软件
  11. 半同步/半异步模式,半同步半反应堆reactor模式
  12. 【笔记】斜线(slash)和反斜线“\”(backslash)的区别总结
  13. 土壤微生物组——从宏基因组学到宏表型组学
  14. 钉钉小程序快照技术初窥
  15. 你不可能知道的骨架屏玩法!
  16. django入门(超详细)
  17. 解决 Unrecognized option: --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED 【实测有效】
  18. 写作方法_论文写作方法
  19. RANS VS LES
  20. macino404 || cinema 4D 基础解释 || 第一篇

热门文章

  1. Opencv配置常见问题:
  2. 思科三层交换机不同vlan互通_cisco(三层交换和动态路由,不同vlan间的通信,静态路由实现全网互通)...
  3. 2020第八届“泰迪杯”特等奖(基于 BERT 深度语言模型的“智慧政务”文本挖掘应用)
  4. 野火FPGA-状态机
  5. 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据...
  6. 统计学假设检验中 p 值的含义具体是什么?
  7. 苹果电脑计算机无法启动,MacBook Pro 按开机按钮没反应无法开机
  8. 信息化计算机学什么作用,信息化教学在计算机技术课程的应用
  9. Android如何配置init.rc中的开机启动进程(service)【转】
  10. RN cannot add a child that doesnot have a YogoNode to a parent without a measure function!