您的位置:首页 > 其它

FZU 2135 数字游戏

2014-05-23 17:11 239 查看
题目链接:FZU 2135 数字游戏

排序后有零的话零一定在开头,所以记录一下零的个数,输出时遇到前缀零不输出,之后有非零时输出这个数,然后把所有零插入这里输出。

#include <iostream>
#include <algorithm>
#include <cstdio>

using namespace std;

const int MAX_N = 100 + 10;

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        int n, cnt = 0;
        char str[MAX_N];
        scanf("%d", &n);
        scanf("%s", str);
        for(int i = 0; i < n; i++)
            if(str[i] == '0')
                cnt++;
        sort(str, str + n);
        bool first = false;
        for(int i = 0; i < n; i++)
        {
            if(str[i] != '0' && !first)
            {
                first = true;
                printf("%c", str[i]);
                for(int j = 0; j < cnt; j++)
                    printf("0");
            }
            else if(first)
                printf("%c", str[i]);
        }
        puts("");
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: