Codeforces Round #704 (Div. 2) Genius‘s Gambit
传送门
一、题意: 给出a个0和b个1,组合出两个含有a个0和b个1的数的二进制形式,并且最高位不为0,问是否存在两个数相减的结果中含有k个1。若存在输出Yes和这两个数,否则No。
二、思路: 经过构造样例可以发现一个规律:
1…0
0…1
假设该数二进制长度为len,省略号位置若对应的位置同为1或者同为0,此时相减将会得到len-1个1。
所以只需要能够构造出一个长度为k+1的字段,就存在这样的两个数字。
cpp代码
#include<stdio.h>
#include<iostrea
原创
2021-02-24 21:06:18 ·
78 阅读 ·
0 评论