小x与三角形 c语言 1秒,[2019年第一水] 小x与神牛
题目描述
小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与神牛相关推荐
- C语言二级背诵小抄,计算机二级C语言上题库(可缩印做小抄)百分百准确.doc
计算机二级C语言上题库(可缩印做小抄)百分百准确 第一套 程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号.姓名和三门课的成绩.函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典 ...
- 微信小程序开发(一):环境搭建和第一个小程序创建
0 概览: 简介:微信小程序是微信里面的app,16年推出 竞品: 支付宝小程序 ,钉钉,美团,头条,抖音qq小程序 优点:1,在微信里面自由分享,2,不用下载app, 3,能快速的开发,使用微信的a ...
- java中如何运行小程序_一起学java(一)——运行第一个小程序
接下来的一段时间内会更新一起学java系列,喜欢的关注一下我吧.微信公众号:什么都不懂的大佬:初学,有错误的地方请大家多多指教. ---------------分割线-------------- 一. ...
- 小程序开发语言python_微信小程序是用什么语言开发的呢
原标题:微信小程序是用什么语言开发的呢 说到微信小程序可能大部分只是一知半解,您是否清楚小程序是用什么来开发的?如果您不太清楚,那么多美源小程序小编来告诉您小程序开的具体. 微信小程序是什么语言开发的 ...
- Java小游戏——是男人就坚持20秒
Java小游戏--是男人就坚持20秒 给大家分享一个小游戏,这是一个Swing项目,先用代码画界面板,然后依次添加飞机.子弹.计时器等: 代码如下: /** 程序的主窗体*/ public class ...
- python 禁用网卡_C#语言实现定时开启或禁用网卡小程序
C#语言实现定时开启/禁用网卡 程序运行效果图 程序实现主要代码 源代码工程文件(VS2013工程文件编译通过) 查看网卡名称附图 1.win7旗舰版运行效果图: 2.程序实现主要代码: /// 网卡 ...
- C语言实现秒与时间的互相转换
C语言实现秒与时间的互相转换 工作中遇到实时时间的显示,MCU中使用1s计数值累加实现秒钟的每秒累加.因此需要用到秒数值与具体时间日期的互相转换,在网上找的例程跑起来总是各种各样的小错误,浪费了大量的 ...
- 教你如何用C语言设计一个有趣的猜数字小游戏
目录 前言 猜数字游戏 打印菜单 处理玩家选择的操作 编写猜数字游戏函数 游戏中要猜数字从哪来?(配置随机数生成器) 时间戳 开始生成随机数 game函数内部编写 完整代码 总结 前言 好久不见,今天 ...
- 飞机躲避小游戏---是男人就撑100秒的制作
飞机躲避小游戏---是男人就撑100秒的制作 EmilMatthew(EmilMatthew@126.com) 摘要: 可以将这个游戏的整体运作看成一个粒子系统,再加上子弹和飞机的碰撞判定即可.简单 ...
最新文章
- jvm性能调优 - 01类加载机制Review
- table取tr对象 vue_javascript的DOM对象终极总结:你必看的js面向对象
- 网络调试指令ping、telnet、curl
- java qq通信_结对博客(Java通信项目QQ)
- 【日语笔记】日常日语
- 容器编排技术 -- Kubernetes 给容器和Pod分配内存资源
- Git学习文档之二 应用总结-svn迁移到git
- 乘风破浪:LeetCode真题_027_Remove Element
- Java后端开发笔试题
- php 中标麒麟龙芯5.0,中标麒麟桌面操作系统软件
- 半同步/半异步模式,半同步半反应堆reactor模式
- 【笔记】斜线(slash)和反斜线“\”(backslash)的区别总结
- 土壤微生物组——从宏基因组学到宏表型组学
- 钉钉小程序快照技术初窥
- 你不可能知道的骨架屏玩法!
- django入门(超详细)
- 解决 Unrecognized option: --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED 【实测有效】
- 写作方法_论文写作方法
- RANS VS LES
- macino404 || cinema 4D 基础解释 || 第一篇
热门文章
- Opencv配置常见问题:
- 思科三层交换机不同vlan互通_cisco(三层交换和动态路由,不同vlan间的通信,静态路由实现全网互通)...
- 2020第八届“泰迪杯”特等奖(基于 BERT 深度语言模型的“智慧政务”文本挖掘应用)
- 野火FPGA-状态机
- 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据...
- 统计学假设检验中 p 值的含义具体是什么?
- 苹果电脑计算机无法启动,MacBook Pro 按开机按钮没反应无法开机
- 信息化计算机学什么作用,信息化教学在计算机技术课程的应用
- Android如何配置init.rc中的开机启动进程(service)【转】
- RN cannot add a child that doesnot have a YogoNode to a parent without a measure function!