首页 > 其他 > 详细

P1071 01字符串的交叉安排

时间:2019-10-29 16:40:48      阅读:71      评论:0      收藏:0      [点我收藏+]

题目描述

你有 \(n(1 \le n \le 10^6)\) 个字符‘0’ 和 \(m(1 \le m \le 10^6)\) 个字符‘1’。你需要使用这些字符拼接成一个01字符串,使得满足如下两个条件:

  1. 字符串中不能出现连续的两个‘0’;
  2. 字符串中不能出现连续的三个‘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

P1071 01字符串的交叉安排

原文:https://www.cnblogs.com/problems/p/P1071.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!