zoukankan      html  css  js  c++  java
  • CodeForces

    You are given three integers a, b and x. Your task is to construct a binary string s of length n=a+b such that there are exactly a zeroes, exactly b ones and exactly x indices i (where 1≤i<n) such that si≠si+1

    . It is guaranteed that the answer always exists.

    For example, for the string "01010" there are four indices i

    such that 1≤i<n and si≠si+1 (i=1,2,3,4). For the string "111001" there are two such indices i (i=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 a

    , b and x (1≤a,b≤100,1≤x<a+b)

    .

    Output

    Print only one string s

    , where s

    is any binary string satisfying conditions described above. It is guaranteed that the answer always exists.

    Examples

    Input

    2 2 1
    

    Output

    1100
    

    Input

    3 3 3
    

    Output

    101100
    

    Input

    5 3 6
    

    Output

    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<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a,b,x,n,i,j;
        char s[1010];
        cin>>a>>b>>x;
        n=a+b;
        if(a>b)
        {
            s[1]='0';
            a--;
            for(i=2;i<=x;i++)
            {
                if(s[i-1]=='0')
                {
                    s[i]='1';
                    b--;
                }
                else
                {
                     s[i]='0';
                     a--;
                }
            }
            if(s[x]=='0')
            {
                for(i=x+1;;i++)
                {
                    if(a>0)
                    {
                         s[i]='0';
                         a--;
                    }
                    else
                    {
                        s[i]='1';
                        b--;
                    }
                    if(a==0&&b==0)
                        break;
                }
            }
            else
            {
                for(i=x+1;;i++)
                {
                    if(b>0)
                    {
                         s[i]='1';
                         b--;
                    }
                    else
                    {
                        s[i]='0';
                        a--;
                    }
                    if(a==0&&b==0)
                        break;
                }
            }
        }
  • 相关阅读:
    2016.5.15——leetcode:Number of 1 Bits ,
    2016.5.14——leetcode-HappyNumber,House Robber
    记录学习过程
    npm 模块安装机制简介
    搭建Vue.js开发环境(window10)
    pwd 显示当前所在的工作路径
    Lucene 6.5.0 入门Demo
    java.lang.UnsupportedClassVersionError
    window.onload 和 $(document).ready(function(){}) 的区别
    plsql + 客户端 连接oracle数据库
  • 原文地址:https://www.cnblogs.com/jk17211764/p/9677377.html
Copyright © 2011-2022 走看看