搜索
您的当前位置:首页正文

CodeForces 1009B

来源:吉趣旅游网

题目链接:
这道题只需要保证0和2的相对位置不变,所有的1都放在第一次出现的2前面即可。
(c++是有字符串类型的,string,可以用 length()获取字符串的长度。还有,只要按照顺序输出相应的字符串就可以,不一定非要用一个字符串记录完整的输出,什么交换啊移动啊,根本不需要那么麻烦的。)

#include <iostream>

using namespace std;

int main()
{
    string s,ss="";
    int len,i,m=0,temp;
    cin>>s;
    len=s.length();
    for(i=0;i<len;i++){
        if((s[i]=='0')||(s[i]=='2'))ss+=s[i];
        else m++;
    }
    for(i=0;i<len;i++){
        if(ss[i]=='0')cout<<ss[i];
        else{
            temp=i;
            break;
        }
    }
    while(m--)cout<<'1';
    for(i=temp;i<ss.length();i++){
        cout<<ss[i];
    }
    return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top