寻找最大数

时间限制:1000 ms  |           内存限制:65535 KB
难度:2
 
描述

请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,

比如当n=92081346718538,m=10时,则新的最大数是9888

 
输入
第一行输入一个正整数T,表示有T组测试数据 每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)
输出
每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数
样例输入
2
92081346718538 10
1008908 5
样例输出
9888
98
来源
第六届itat复赛B卷2题改编
上传者
ACM_赵铭浩

//刚开始做法:找出len-m个最小的数,然后输出剩下的,wa了几次,后来才想到错在哪了,例如32190  1 ,这种思路得到3219,正确结果应为3290

 #include <stdio.h>
#include <string.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char c,str[];
int i,j,t,n,m;
memset(str,,sizeof(str));
scanf("%s",str);
scanf("%d",&m);
for(i=;i<m;i++)
{
c=''+;t=;
for(j=;j<strlen(str);j++)
{
if(str[j]<c)
{
c=str[j];
t=j;
}
}
str[t]='A';
}
for(i=;i<strlen(str);i++)
if(str[i]!='A')
printf("%c",str[i]);
printf("\n");
}
return ;
}

//看了下别人的做法:(http://yangchuanhuahpu.blog.163.com/blog/static/186318840201244114422258/

/*这道题可以理解为:在字符串中找出一个由strlen(str)-m个字符按顺序(不要求连续)拼成的最大数。
其实这是个不断贪心的过程,首先要在str[0]到str[m](包括str[m])找到第一个最大的数字(注意哦,是第一个最大数字)作为最高位数(之所以要在0到m间找,是因为至少要留出strlen(str)-m-1位放在最高位后面的低位),假设是str[k],然后再从str[k+1]到str[m+1](因为此时已经选了1个,所以留出至少strlen(str)-m-2位放在第二位位后面的低位)找到第一个最大的作为第二位数……一直到strlen(str)-m个数被确定完,这样从最高位到最低位都是所能选择的最大值,所以得到的结果也将是最大值。*/

 #include <stdio.h>
#include <string.h>
char str1[],str2[];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int i,j,k,t=,m,n,len,max;
scanf("%s%d",str1,&m);
len=strlen(str1);
n=len-m;
for(i=,k=;i<n;i++)
{
max=-;
for(j=t;j<=m;j++)
{
if(str1[j]>max)
{
max=str1[j];
t=j;
}
}
str2[k++]=str1[t];
t++;m++;
}
for(i=;i<k;i++)
printf("%c",str2[i]);
printf("\n");
}
return ;
}

nyoj_448_寻求最大数_201402261424的更多相关文章

  1. BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]

    1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 8748  Solved: 3835[Submi ...

  2. nyoj 448 寻找最大数(贪心专题)

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...

  3. javascript基础程序(算出一个数的平方值、算出一个数的阶乘、输出!- !- !- !- !- -! -! -! -! -! 、函数三个数中的最大数)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. AC日记——找最大数序列 openjudge 1.9 10

    10:找最大数序列 总时间限制:  1000ms 内存限制:  65536kB 描述 输入n行,每行不超过100个无符号整数,无符号数不超过4位.请输出最大整数以及最大整数所在的行号(行号从1开始). ...

  5. BZOJ1012 [JSOI2008]最大数maxnumber

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  6. ACM 寻找最大数

    寻找最大数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...

  7. BZOJ-1012[JSOI2008]最大数maxnumber 线段树区间最值

    这道题相对简单下面是题目: 1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MB Submit: 6542 Solve ...

  8. ORA-01000:超出打开游标的最大数(C#)

    在做一个windows服务,通过查询文本不断的插入数据的功能.测试一直没有问题,到实际环境中跑起来后程序退出,查看日志发现报的这个错误 ORA-01000:超出打开游标的最大数 经过上网查询发现是由于 ...

  9. codevs 1201 最小数和最大数

    http://codevs.cn/problem/1201/ 1201 最小数和最大数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题 ...

随机推荐

  1. KVO中你所不知道的"坑"

      一.什么是 KVO 首先让我们了解一下什么KVO,全称为Key-Value Observing,是iOS中的一种设计模式,用于检测对象的某些属性的实时变化情况并作出响应.键值观察Key-Value ...

  2. 《Typecript 入门教程》 3、接口

    转载:<TypeScript 中文入门教程> 3.接口 介绍 TypeScript的核心原则之一是对值所具有的shape进行类型检查. 它有时被称做“鸭式辨型法”或“结构性子类型化”. 在 ...

  3. Emoji过滤

    private static boolean isNotEmojiCharacter(char codePoint) { return (codePoint == 0x0) || (codePoint ...

  4. Windows下apache+tomcat负载均衡

    Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...

  5. 个人作业——Alpha项目测试

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.cnbl ...

  6. android中textview单行显示,多余的省略

    <TextView android:id="@+id/music_title" android:layout_width="wrap_content" a ...

  7. jQuery——入口函数

    中文网 http://www.css88.com/jqapi-1.9/ 版本兼容问题 版本一:1.x版本,兼容IE678 版本二:2.x版本,不兼容IE678 入口函数区别 <script> ...

  8. CSS平滑过渡动画:transition

    <html> <head> <link href="http://cdn.bootcss.com/twitter-bootstrap/3.0.2/css/boo ...

  9. java_File对象

    package File; import java.io.File; import java.io.IOException; public class file { public static voi ...

  10. makefile 与 make

    所要完成的Makefile 文件描述了整个工程的编译.连接等规则.其中包括:工程中的哪些源文件需要编译以及如何编译.需要创建那些库文件以及如何创建这些库文件.如何最后产生我们想要的可执行文件.尽管看起 ...