Problem - D - Codeforces

已知三个整数a b k。求两个二进制整数z和y (æ > y)满足1. y都由a个0和b个1组成;2. X - y(也是二进制形式)恰好有k个1。z和y不允许使用前导零。输入唯一的一行包含三个整数a, b和k (0 <a;1 <b;0<k < a+b< 2- 105) -结果中0、1和1的个数。输出如果有可能找到两个合适的整数,打印“Yes”后面跟着以2为基数的z和y。否则打印“No”。如果有多个可能的答案,打印其中任何一个。

Examples

input

Copy

4 2 3

output

Copy

Yes
101000
100001

input

Copy

3 2 1

output

Copy

Yes
10100
10010

input

Copy

3 2 5

output

Copy

No

请注意在第一个例子中,= 1010002 = 25 + 23 = 4010,y = 1000012 = 25 +2°= 3310,4010 - 3310 = 710 = 22 +2 +2°= 1112。因此- y以2为底有3个1。在第二个例子中,= 101002 = 24 + 22 = 2010,y = 100102 = 24 + 2 = 18,2 - y = 20 - 18 = 210 = 102。这是1。在第三个例子中,你可能会发现,答案是不可能找到的。

题解:
题意很容易理解,关键是情况有很多,很难全部找出

首先我们应该知道最多可以构造出来多少个1

应该是a + b - 2个1

如果b >= 2

1100000.0

100000...1

这样肯定是最优的,最开始两位为0,其他全为1,如果有多余的1,填在1,2串相等的位置即可,就可以抵消

所以a+b - 2 < k不成立

但是会有一个特解0 1 0就是成立的

其次如果b = 1,k肯定应该等于0,由于数不能有前导0

还有a = 0,k也肯定等于0,全是1,相减肯定为0

剩下就是一般情况构造即可,思路类似构造最优情况

#include <cstdio>
#include <cstring>
#include <algorithm>
#include<iostream>
#include<vector>
#include<set>
#include<map>
using namespace std;
int mod = 1e9 + 7;
typedef long long ll;
int x[200050];
int y[200050];
void solve()
{int a,b,k;cin >> a >> b >> k;if(a == 0&&b == 1&&k == 0){cout <<"YES\n1\n1";}else if(k > a + b - 2||(b == 1&&k != 0)||(a == 0&&k != 0)){cout <<"NO\n";}else{cout <<"YES\n";y[1] = 1;x[1] = 1;if(k <= a){for(int i = 2;i <= b;i++)x[i] = 1;for(int i = 2;i <= b - 1;i++){y[i] = 1;}y[b + k] = 1;}else{for(int i = 2;i <= b;i++){x[i] = 1;}for(int i = 2;i <= b;i++){y[i] = 1;}y[a+b] = 1;y[a+b-k] = 0;}for(int i = 1;i <= a+b;i++)cout << x[i];cout <<"\n";for(int i = 1;i <= a+b;i++)cout << y[i];}
}
//3 6 6
//111111000
//110111001
signed main()
{
//  ios::sync_with_stdio(0);
//  cin.tie(0);cout.tie(0);int t = 1;
//  cin >> t;while(t--){solve();}
}

D. Genius‘s Gambit(很多情况)相关推荐

  1. Codeforces 1492D - Genius‘s Gambit (构造)

    Codeforces Round #704 (Div. 2) D. Genius's Gambit 题意 要求构造出两个不包含前导0的二进制数字 x , y x,y x,y,满足: x , y x,y ...

  2. Codeforces Round #704 (Div. 2) D. Genius‘s Gambit 构造 + 细节

    传送门 题意: 给a,b,ka,b,ka,b,k,要求用aaa个000和bbb个111组成二进制xxx和yyy,并且x−yx-yx−y恰好有kkk个111,并且xxx和yyy不含前导零. 思路: 首先 ...

  3. codeforces1492 D. Genius‘s Gambit python

    D 越来越觉得就是找规律啦~ 听说这是俄罗斯中小学生比赛- 原来我还是一个孩子呀 真棒 回归记录 题意: 有a个0 b个1 组成X Y使得X-Y的值有K个1 (均为二进制) 思路: 首先 要会二进制加 ...

  4. D. Genius‘s Gambit 构造题+思维

    题目: https://codeforces.ml/contest/1492/problem/D 题意:用a个0和b个1来构造x和y,使得x - y 的二进制表示1的个数为k. 分析: 构造方法: 1 ...

  5. 存疑598A得根据小数点分很多情况

    题目http://codeup.cn/problem.php?cid=100000598&pid=0 难点: 小数点移动和按位相加.科学计数法都是简单的了 #include<cstdio ...

  6. 移动Web开发图片自适应两种常见情况解决方案

    本文主要说的是Web中图片根据手机屏幕大小自适应居中显示,图片自适应两种常见情况解决方案.开始吧 在做配合手机客户端的Web wap页面时,发现文章对图片显示的需求有两种特别重要的情况,一是对于图集, ...

  7. word图片自动换行不亮_知网查重时提交pdf检测结果竟然比Word高很多!

    近来,很多学生为PDF查重比Word高而烦恼.一般在提前使用知网查重的时候学生都默认提交Word,谁能知道有时候PDF查重率确实高于Word的查重结果.知网查重时提交pdf检测结果竟然比Word高很多 ...

  8. sql中索引不会被用到的几种情况

    转载自  sql中索引不会被用到的几种情况 1.查询谓词没有使用索引的主要边界,换句话说就是select *,可能会导致不走索引. 比如,你查询的是SELECT * FROM T WHERE Y=XX ...

  9. MySQL 分页优化中的 “ INNER JOIN方式优化分页算法 ” 到底在什么情况下会生效?...

    最近无意间看到一个 MySQL 分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的方案.因为现实中很多情况都不是固定不变的,能总结出来通用性的做法或者说是规律,是要考虑非常多的 ...

最新文章

  1. 腾讯开源图计算框架 Plato:十亿级节点图计算进入分钟级时代
  2. 【STM32】OLED 显示实验代码详解
  3. 9000+ 字,彻底征服 Spring AOP ,美滋滋
  4. webdynpro view navigation - the same as Webclient UI
  5. div展示html文本,html – 使文本适合div
  6. HTML文档的三大构成元素,构成基础结课小结 为什么三大构成是设计的基础课程...
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的宝妈购母婴用品商城
  8. hdu1596-find the safest road
  9. 一、Java语言基础(5)_数组高级——方法参数的值传递机制
  10. python 调用海康sdk_Qt调用海康SDK实现摄像头视频播放
  11. 超级计算机app网易,网易有道超级计算器
  12. 计算机软件可以控制单片机,一个电脑控制单片机通讯程序分享
  13. ICIP论文结构整理
  14. [BZOJ5332] [SDOI2018] 旧试题 [BZOJ5276] Skyfall [莫比乌斯反演][三元环计数][std::vector][Cache Miss]
  15. Windows安全机制---数据执行保护:DEP机制
  16. XYplorer使用教程
  17. php错误排查 写入文档,php error_log 错误信息写入文件
  18. 开关量、数字量、模拟量、脉冲量的区别
  19. 隐藏自己的Linux内核模块
  20. T-3.2-把Redis当作消息队列合不合适

热门文章

  1. linux local socket,关于Local socket
  2. cocoa pods
  3. 投票页面制作线上投票活动制作网络投票制作关注投票制作
  4. 客户机操作系统已禁用cpu_CPU硬件辅助虚拟化技术
  5. 如何在 JavaScript 中格式化日期?
  6. MySQL注册表删除
  7. java wav转amr_AMR和WAV互相转换
  8. 我国古代的度量衡解析
  9. PWM整流器双闭环PI参数的整定
  10. Java Swing 经典小游戏《飞机大战》———— (四)碰撞检测 游戏状态与得分 玩家升级