老大的烦恼
来源:互联网 发布:idea调试java web项目 编辑:程序博客网 时间:2024/03/29 03:28
2555: 老大的烦恼
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 113 Solved: 36
[Submit][Status][Web Board]
Description
万恶的小黑,布置了一道题给老大做:给你一个n位的数,现在要求 你随意删除m位后,任意改变顺序,输出其能够构成的最小有效整数(即不能有前导零,如果只含有0则输出0)。但是,这正赶上了老大的对象从故乡来看他,老 大怎么能丢失这种机会呢。所以他找你寻求帮助,帮他完成这个问题吧。
Input
输入包含T组数据。每组数据包含两行,第一行包含两个整数n和m,代表一个数的位数和要删除的位数个数;第二行为一个n位的整数;(0<=m<n<5000)
Output
每组数据输出一行,表示删除后能够构成的最小整数
Sample Input
25 2543215 442130
Sample Output
1230
#include <iostream>
#include <stdlib.h>
using
namespace
std;
int
cmp1(
const
void
*a,
const
void
*b)
{
return
*(
char
*)b-*(
char
*)a;}
int
cmp2(
const
void
*a,
const
void
*b)
{
return
*(
char
*)a-*(
char
*)b;}
int
main()
{
int
t,n,m,i,j,c,k,s,g;
char
a[5005],b[5005];
cin>>t;
while
(t--)
{cin>>n>>m;
for
(i=0;i<n;i++)
cin>>a[i];
qsort
(a,n,
sizeof
(a[0]),cmp1);
c=0;
for
(i=m;i<n;i++)
b[c++]=a[i];
qsort
(b,c,
sizeof
(b[0]),cmp2);
k=0;s=0;
for
(i=0;i<c;i++)
{
if
(b[i]==
'0'
)
{k=1;s=s+k;}
}
if
(s==c) cout<<
"0"
;
else
{
for
(i=0;i<c;i++)
{
if
(b[i]!=
'0'
)
{g=i;
break
;}
}
cout<<b[g];
for
(j=0;j<c;j++)
{
if
(j==g){
continue
;}
cout<<b[j];
}
}
cout<<endl;
}
return
0;
}
0 0
- 老大的烦恼
- 2555: 老大的烦恼
- YTU 2555: 老大的烦恼
- ORACLE老大的演讲
- 老大的farewell
- QQ老大的作风!
- 转载老大的帖子
- 敬畏的老大-乐伟梁
- 老大的孝心
- 副老大的待遇
- 来自老大的教诲
- 老大
- 华为老大的幽默语录
- 向老大学到的东东
- 各个行业的龙头老大
- 被老大支配的恐惧
- 处理老大的老大的老大的老大反馈的问题, 发布后居然意外不生效???
- 我的烦恼---来自studio2005的烦恼
- Redis内存存储结构分析
- C#解析json以及简单的介绍
- python版的短信轰炸机smsbomb----------上篇(post)
- An App a day——Notepad Tutorial
- Eclipse get/set方法自动加上字段注释
- 老大的烦恼
- ubuntu连接路由器无线网络,却不能上网
- jquery水平滑动图片切换特效
- MILTrack学习3--自适应外观模型
- 一个在试用期最后半个月离开Rigol的Loser,给后来者的建议
- oracle调优 性能与安全的权衡
- 为你,最后的执笔
- kmp匹配字串
- NSPredicate的完全用法