P1071 01字符串的交叉安排
2024-10-08 03:31:52
题目描述
你有 \(n(1 \le n \le 10^6)\) 个字符‘0’ 和 \(m(1 \le m \le 10^6)\) 个字符‘1’。你需要使用这些字符拼接成一个01字符串,使得满足如下两个条件:
- 字符串中不能出现连续的两个‘0’;
- 字符串中不能出现连续的三个‘1’。
请问这样的字符串能够拼接出来。
如果不存在这样的拼接方案,输出“-1”;否则,输出所有拼接方案中字典序最小的方案。
比如,如果 \(n=1,m=2\) ,此时可选的方案有“011”、“101”、“110”,其中字典序最小的方案是“011”,所以输出“011”。
输入格式
输入一行包含两个正数 \(n\) 和 \(m(1 \le n,m \le 10^6)\) ,以一个空格分隔,分别用于表示字符‘0’和‘1’出现的次数。
输出格式
如果不存在合法的拼接方案,输出“-1”;否则,输出字典序最小的拼接结果。
样例输入1
1 2
样例输出1
011
样例输入2
2 2
样例输出2
0101
样例输入3
3 2
样例输出3
01010
样例输入4
4 2
样例输出4
-1
最新文章
- SQL Server 2012基本知识
- Android提升篇系列:Activity recreate(Activity 重新创建/自我恢复)机制(一)
- HTML认识
- HTML5头部标签备忘
- [LintCode] Reverse Pairs 翻转对
- MySQL日期 字符串 时间戳互转
- 嵌入式实时操作系统μCOS原理与实践任务控制与时间的解析
- Custom IFormatProvider
- linux shell 命令学习(3) split - split a file into pieces
- bootstrap-table对前台页面表格的支持
- nginx-301重定向开始
- javascript学习笔记——chrome等提示找不到“getElementsByTagName”的一种解决方法
- 【剑指offer】面试题20:顺时针打印矩阵
- Windows7中搭建Android x86_64及armv8-a操作步骤
- OData语法
- Struts2--模块包含
- Flask中的单例模式
- Spring Boot 全文搜索引擎 ElasticSearch
- 浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
- WiX: uninstall older version of the application