Given three integers A, B and X. The task is to construct a binary string str which has exactly A number of 0’s and B number of 1’s provided there has to be at least X indices such that str[i] != str[i+1]. Inputs are such that there’s always a valid solution.
Input: A = 2, B = 2, X = 1
There are two 0’s and two 1’s and one (=X) index such that s[i] != s[i+1] (i.e. i = 1)
Input: A = 4, B = 3, X = 2
- Divide x by 2 and store it in a variable d.
- Check if d is even and d / 2 != a, if the condition is true then print 0 and decrement d and a by 1.
- Loop from 1 to d and print 10 and in the end update a = a – d and b = b – d.
- Finally print the remaining 0’s and 1’s depending on the values of a and b.
Below is the implementation of the above approach:
- Construct Binary Tree from String with bracket representation
- Check if a string can be formed from another string using given constraints
- Check if it is possible to convert one string into another with given constraints
- Check if it is possible to form string B from A under the given constraints
- Generate all permutations of a string that follow given constraints
- Construct binary palindrome by repeated appending and trimming
- Minimum cost to construct a string
- Construct Binary Tree from given Parent Array representation | Iterative Approach
- Longest sub string of 0's in a binary string which is repeated K times
- Python | Check if a given string is binary string or not
- Rotations of a Binary String with Odd Value
- Binary Search a String
- Count of strings that can be formed using a, b and c under given constraints
- Check if all the 1's in a binary string are equidistant or not
- Check if a binary string contains consecutive same or not
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.