B. Binary String Constructing
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
You are given three integers aa, bb and xx. Your task is to construct a binary string ss of length n=a+bn=a+b such that there are exactly aa zeroes, exactly bb ones and exactly xx indices ii (where 1≤i<n1≤i<n) such that si≠si+1si≠si+1. It is guaranteed that the answer always exists.
For example, for the string "01010" there are four indices ii such that 1≤i<n1≤i<n and si≠si+1si≠si+1 (i=1,2,3,4i=1,2,3,4). For the string "111001" there are two such indices ii (i=3,5i=3,5).
Recall that binary string is a non-empty sequence of characters where each character is either 0 or 1.
Input
The first line of the input contains three integers aa, bb and xx (1≤a,b≤100,1≤x<a+b)1≤a,b≤100,1≤x<a+b).
Output
Print only one string ss, where ss is any binary string satisfying conditions described above. It is guaranteed that the answer always exists.
Examples
input
Copy
2 2 1
output
Copy
1100
input
Copy
3 3 3
output
Copy
101100
input
Copy
5 3 6
output
Copy
01010100
Note
All possible answers for the first example:
- 1100;
- 0011.
All possible answers for the second example:
- 110100;
- 101100;
- 110010;
- 100110;
- 011001;
- 001101;
- 010011;
- 001011.
#include<cstdio> #include<iostream> #include<string> #include<algorithm> using namespace std; int main() { int a,b,x; cin>>a>>b>>x; if(x==1) { for(int i=0; i<a; i++) printf("0"); for(int i=0; i<b; i++) printf("1"); } else { if(a>=b) { int t=0; int aa=0,bb=0,xx=-1; for(int i=0; i<a+b; i++) { printf("%d",t); if(t==0) aa++; else bb++; t^=1; xx++; if(xx==x-2||aa==a||bb==b) { //cout<<endl; break; } } if(t==0) { for(int i=0; i<a-aa; i++) { cout<<'0'; } for(int i=0; i<b-bb; i++) { cout<<'1'; } } else { for(int i=0; i<b-bb; i++) { cout<<'1'; } for(int i=0; i<a-aa; i++) { cout<<'0'; } } } else { int t=1; int aa=0,bb=0,xx=-1; for(int i=0; i<a+b; i++) { printf("%d",t); if(t==0) aa++; else bb++; t^=1; xx++; if(xx==x-2||aa==a||bb==b) { //cout<<endl; break; } } if(t==0) { for(int i=0; i<a-aa; i++) { cout<<'0'; } for(int i=0; i<b-bb; i++) { cout<<'1'; } } else { for(int i=0; i<b-bb; i++) { cout<<'1'; } for(int i=0; i<a-aa; i++) { cout<<'0'; } } } } }