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("\n");
	}
	return 0;
}

  

时间: 2024-12-18 11:04:47

fzu 2135 数字游戏 【水题】的相关文章

HDU1172 猜数字【水题】

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1172 题目大意: 计算机随机产生一个四位数,然后玩家去猜这个四位数,每次猜测,计算机都会告诉 你猜对了几个数字,有几个数字在正确的位置上.现在给你N组猜测的结果,那么问 题来了:能否根据这几组猜测的结果去确定这个四位数是多少.如果能确定,输出这 个四位数.如果不能确定,输出:"Not sure". 思路: 只是四位数的话,暴力枚举就可以了.找到满足这几组猜测结果的四位数.如果只有 1个,

201512-2 消除类游戏 (水题,暴力)

问题描述 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除.当有多处可以被消除时,这些地方的棋子将同时被消除. 现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘. 请注意:一个棋子可能在某一行和某一列同时被消除. 输入格式 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数. 接下来n行,每行m个

HDU2178 猜数字【水题】【推理】

猜数字 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3666    Accepted Submission(s): 2620 Problem Description A有1数m,B来猜.B每猜一次,A就说"太大","太小"或"对了" . 问B猜n次可以猜到的最大数. Input 第1

[Usaco2008 Feb]Line连线游戏[暴力][水题]

Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 <= N <= 200)个不重合的点的木板,其中第i个点 的横.纵坐标分别为X_i和Y_i (-1,000 <= X_i <=1,000: -1,000 <= Y_i <= 1,000). 贝茜可以选两个点画一条过它们的直线,当且仅当平面上不存在与画出直线 平行的直线.游戏结束时贝茜的得分,就是她画出的直线的总条数.为了在游戏 中胜出,

FZU 1343 WERTYU --- 水题

FZU 1343 题目大意:手放在键盘上时,稍不注意就会往右错一位.这样Q就会输入成W,输入J就会变成K 给定一串大写敲错后输入,输出正确的输入(输入保证合法,如输入中不会出现Q,A,Z): 解题思路:将字符按键盘顺序存在一个数组中,然后找到每个字符在数组中的位置,输出它的前一个字符,若未找到则输出原字符 /* FZU 1343 WERTYU --- 水题 */ #include <cstdio> char s[] = "`1234567890-=QWERTYUIOP[]\\ASDF

【ECNU71】一个游戏(水题)

点此看题面 大致题意: \(n\)种元素,有若干组将\(x\)元素转化为\(y\)元素的操作.问对于所有可能的元素拥有状况,改变转化操作的顺序,是否会影响转化后最终的结果. 水题 虽说是这么水的题,但毕竟还是模拟赛题,所以照例写一下题解吧... 首先,若对于两组转化操作\((a,b),(c,d)\),\(a,b,c,d\)各不相同,显然它们是互不影响的. 否则,我们分下面几类考虑: \((a,b),(a,c)\),显然,先\((a,b)\)则\(a\)会变成\(b\),先\((a,c)\)则\(

1503171912-ny-一道水题

一道水题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 今天LZQ在玩一种小游戏,可是这游戏数有一点点的大,他一个人玩的累.想多拉一些人进来帮帮他.你能写一个程序帮帮他吗?这个游戏是这种:有一行数字,假设我们把这行数字中的'5'都看成空格,那么就得到一行用空格切割的若干非负整数(可能有些整数以'0'开头,这些头部的'0'应该被忽略掉,除非这个整数就是由若干个'0'组成的,这时这个整数就是0). 你的任务是:对这些切割得到的整数,依从小到大的顺序排序输出,大家赶

【转载】POJ水题大集合

POJ水题大集合 poj1000:A+B problempoj1002:电话上按键对应着数字.现在给n个电话,求排序.相同的归一类poj1003:求最小的n让1+1/2+1/3+...+1/n大于给的一个实数poj1004:求一堆实数的平均数poj1005:由坐标 (0,0) 开始,以半圆为形状每年侵蚀50m^2,问(0,0)开始到(x,y)结束需要多长时间poj1006:三个周期是常数.现在给三个周期出现高峰的时候,问下一次出现高峰是什么时候poj1007:求字符串排序poj1008:一种日历

Vijos P1218 数字游戏

描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k.游戏的要求是使你所得的k最大或者最小. 格式 输入格式 输入文件第一行有两个整数,n(1≤n≤50)和m(1≤m≤9).以下n行每行有个整数,其绝对值不大于10^410?4??,按顺序给出圈中的数字,首尾相接. 输出