P1071 01字符串的交叉安排
题目描述
你有 \(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
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号