• fzu 2135 数字游戏 【水题】


    Problem 2135 数字游戏

    Accept: 253    Submit: 392
    Time Limit: 1000 mSec    Memory Limit : 32768 KB

    Problem Description

    给一个N位的正整数,该数不包含前导0,先让你调整其中每个数字的位置,得到另一个n位的数,并且使得这个数越小越好,而且这个数不能包含前导0。比如543210可以变成102345,而12345保持不变才是最优结果。

    Input

    第一行一个整数T(T<=100),表示有T组数据。

    每组数据先输入一行一个整数N(1<=N<=100),表示位数,接下来一行输入一个N位的不包含前导0的正整数。

    Output

    每组数据对应一行输出,即调整数字位置后能得到的最小的不包含前导0的数。

    Sample Input

    3
    6
    543210
    3
    123
    3
    231

    Sample Output

    102345
    123
    123
     
    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    #include<math.h>
    #define INF 0x3f3f3f
    #define DD double
    #define MAX 110
    using namespace std;
    bool cmp(int a,int b)
    {
    	return a<b;
    }
    int main()
    {
    	int t,n,m,i,j,k;
        char str[MAX];
        int s[MAX],a[MAX];
        scanf("%d",&t);
        while(t--)
        {
        	scanf("%d",&n);
        	memset(a,0,sizeof(a));
        	memset(s,0,sizeof(s));
        	scanf("%s",str);
        	for(i=0;i<n;i++)
    		    s[i]=str[i]-'0';
        	sort(s,s+n,cmp);
        	int sum=0;k=0;
        	for(i=0;i<n;i++)
        	{
        		if(s[i]==0)
        		sum++;
        		else if(s[i]!=0)
        		{
        			a[k++]=s[i];
    			}
    		}		
    		printf("%d",a[0]);
    		for(i=0;i<sum;i++)
    		printf("0");
    		for(i=1;i<k;i++)
    		printf("%d",a[i]);
    		printf("
    ");
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    hadoop
    spark
    docfetcher
    redis参考资料
    Redis系列-存储篇sorted set主要操作函数小结
    predis操作大全
    composer安装使用
    寒假作业2
    寒假作业随笔
    面向对象寒假作业编程题
  • 原文地址:https://www.cnblogs.com/tonghao/p/4748817.html
Copyright © 2020-2023  润新知