YTU 2555: 老大的烦恼
2555: 老大的烦恼
时间限制: 1 Sec 内存限制: 128 MB
提交: 176 解决: 47
题目描述
万恶的小黑,布置了一道题给老大做:给你一个n位的数,现在要求 你随意删除m位后,任意改变顺序,输出其能够构成的最小有效整数(即不能有前导零,如果只含有0则输出0)。但是,这正赶上了老大的对象从故乡来看他,老 大怎么能丢失这种机会呢。所以他找你寻求帮助,帮他完成这个问题吧。
输入
输入包含T组数据。每组数据包含两行,第一行包含两个整数n和m,代表一个数的位数和要删除的位数个数;第二行为一个n位的整数;(0<=m<n<5000)
输出
每组数据输出一行,表示删除后能够构成的最小整数
样例输入
2
5 2
54321
5 4
42130
样例输出
123
0
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#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;
}
#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;
}
YTU 2555: 老大的烦恼的更多相关文章
- CPU阿甘之烦恼
转自“码农翻身”公共号,原文地址CPU阿甘之烦恼 总结:(程序加载到内存运行的演变过程) 内存存放程序.OS负责加载程序到内存.CPU负责运行内存中的程序 1.串行:加载一个完整程序到内存,CPU运行 ...
- 【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传递烦恼~
一.写在前面 还在为时间接收而烦恼吗?还在为各种组件间的消息传递烦恼吗?EventBus 3.0,专注于android的发布.订阅事件总线,让各组件间的消息传递更简单!完美替代Intent,Handl ...
- BZOJ 1005 [HNOI2008] 明明的烦恼(组合数学 Purfer Sequence)
题目大意 自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为 1 到 N 的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为 N( ...
- ytu 1057: 输入两个整数,求他们相除的余数(带参的宏 + 模板函数 练习)
1057: 输入两个整数,求他们相除的余数 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 177 Solved: 136[Submit][Status ...
- 转OSGchina中,array老大的名词解释
转OSGchina中,array老大的名词解释 转自:http://ydwcowboy.blog.163.com/blog/static/25849015200983518395/ osg:: Cle ...
- [bzoj1935][shoi2007]Tree 园丁的烦恼(树状数组+离线)
1935: [Shoi2007]Tree 园丁的烦恼 Time Limit: 15 Sec Memory Limit: 357 MBSubmit: 980 Solved: 450[Submit][ ...
- Android Studio线下版和线上版都使用正式签名脚本(保证keysore签名文件和项目在同级目录),不用再因为繁琐的发正式版而烦恼
场景:调用微信等第三方应用时如果生成的版本不是正式签名的可能会调用失败,使用如下脚本不用再为繁琐的发正式签名版而烦恼 app项目中的build.gradle追加如下代码: //使用正式签名脚本(保证k ...
- 【BZOJ 2555】SubString
http://www.lydsy.com/JudgeOnline/problem.php?id=2555 一个字符串在原串中的出现次数就是这个字符串对应后缀自动机上的状态的\(|Right|\),要求 ...
- KM算法及其优化的学习笔记&&bzoj2539: [Ctsc2000]丘比特的烦恼
感谢 http://www.cnblogs.com/vongang/archive/2012/04/28/2475731.html 这篇blog里提供了3个链接……基本上很明白地把KM算法是啥讲清楚 ...
随机推荐
- 大数据学习——securecrt同时向多个tab窗口发送相同的命令
右键选中 然后在下面空白窗口写命令就可以了
- spring的IOC入门案例
步骤: 一,导入jar 二,创建类,在类里创建方法 三,创建Spring配置文件,配置创建类 四,写代码测试对象创建
- HDU 4436 str2int
str2int Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on HDU. Original ID: 4 ...
- Leetcode 221.最大的正方形
最大的正方形 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出 ...
- [CTSC2007]数据备份Backup 题解
题意: 一维直线上有n个点,任取2k个互不相同的点组成k条链,求链的最小总长 思路: 1.最优时链不相交,相邻两两相减,将题目转化为:在n-1个数中取互不相邻的k个数使总和最小. 2.贪心取最小的“数 ...
- 深入理解计算机操作系统——第10章:UNIX IO,打开,关闭,读写文件
系统级IO:输入输出是主存与外部设备(磁盘,终端,网络)之间拷贝数据的过程 输入:从IO设备拷贝数据到主存中 输出:从主存中拷贝数据到IO设备中 10.1 unix IO 所有的IO设备都被模型化为文 ...
- Python()- 面向对象的组合用法
面向对象的组合用法 一个类中以另一个类的对象作为数据属性(一个类中引用另一个类的对象)一种 "有" 的关系: 比如:定义 1个人类 & 1个武器类 然后 张三 有 枪 李四 ...
- [Bzoj1034][ZJOJ2008]泡泡堂BNB(贪心)
1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3482 Solved: 1776[Submit][St ...
- HDU 1244 【DP】
题意: 中文. 思路: 先初步处理,用give-take求出每个城市剩的钱. 求解问题转化成使得和不小于0的最长连续字串. 枚举起点,然后当该起点加的和为负时开始枚举下一起点.(这个状态的转移) 2W ...
- new String()理解
public static void main(String[] args){ String a=new String("ddy"); String b=new String(&q ...