nyoj_448_寻求最大数_201402261424
寻找最大数
- 描述
-
请在整数 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的更多相关文章
- BZOJ1012: [JSOI2008]最大数maxnumber [线段树 | 单调栈+二分]
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 8748 Solved: 3835[Submi ...
- nyoj 448 寻找最大数(贪心专题)
寻找最大数 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...
- javascript基础程序(算出一个数的平方值、算出一个数的阶乘、输出!- !- !- !- !- -! -! -! -! -! 、函数三个数中的最大数)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- AC日记——找最大数序列 openjudge 1.9 10
10:找最大数序列 总时间限制: 1000ms 内存限制: 65536kB 描述 输入n行,每行不超过100个无符号整数,无符号数不超过4位.请输出最大整数以及最大整数所在的行号(行号从1开始). ...
- BZOJ1012 [JSOI2008]最大数maxnumber
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- ACM 寻找最大数
寻找最大数 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大, 比如当n=920813467185 ...
- BZOJ-1012[JSOI2008]最大数maxnumber 线段树区间最值
这道题相对简单下面是题目: 1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MB Submit: 6542 Solve ...
- ORA-01000:超出打开游标的最大数(C#)
在做一个windows服务,通过查询文本不断的插入数据的功能.测试一直没有问题,到实际环境中跑起来后程序退出,查看日志发现报的这个错误 ORA-01000:超出打开游标的最大数 经过上网查询发现是由于 ...
- codevs 1201 最小数和最大数
http://codevs.cn/problem/1201/ 1201 最小数和最大数 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 青铜 Bronze 题解 题 ...
随机推荐
- KVO中你所不知道的"坑"
一.什么是 KVO 首先让我们了解一下什么KVO,全称为Key-Value Observing,是iOS中的一种设计模式,用于检测对象的某些属性的实时变化情况并作出响应.键值观察Key-Value ...
- 《Typecript 入门教程》 3、接口
转载:<TypeScript 中文入门教程> 3.接口 介绍 TypeScript的核心原则之一是对值所具有的shape进行类型检查. 它有时被称做“鸭式辨型法”或“结构性子类型化”. 在 ...
- Emoji过滤
private static boolean isNotEmojiCharacter(char codePoint) { return (codePoint == 0x0) || (codePoint ...
- Windows下apache+tomcat负载均衡
Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...
- 个人作业——Alpha项目测试
这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.cnbl ...
- android中textview单行显示,多余的省略
<TextView android:id="@+id/music_title" android:layout_width="wrap_content" a ...
- jQuery——入口函数
中文网 http://www.css88.com/jqapi-1.9/ 版本兼容问题 版本一:1.x版本,兼容IE678 版本二:2.x版本,不兼容IE678 入口函数区别 <script> ...
- CSS平滑过渡动画:transition
<html> <head> <link href="http://cdn.bootcss.com/twitter-bootstrap/3.0.2/css/boo ...
- java_File对象
package File; import java.io.File; import java.io.IOException; public class file { public static voi ...
- makefile 与 make
所要完成的Makefile 文件描述了整个工程的编译.连接等规则.其中包括:工程中的哪些源文件需要编译以及如何编译.需要创建那些库文件以及如何创建这些库文件.如何最后产生我们想要的可执行文件.尽管看起 ...