nyoj 448 寻找最大数
来源:互联网 发布:js字符串加逗号 编辑:程序博客网 时间:2024/06/10 21:56
寻找最大数
时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描述
请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,
比如当n=92081346718538,m=10时,则新的最大数是9888
- 输入
- 第一行输入一个正整数T,表示有T组测试数据
每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数) - 输出
- 每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数
- 样例输入
292081346718538 101008908 5
- 样例输出
988898
- 来源
第六届itat复赛B卷2题改编
删除m个数,剩 l-m 个最大数,从高位到低位寻找第i个最大数,下次从当前最大位的下一位开始到i+m位之间寻找最大的数。
<span style="font-family:SimSun;">#include<cstdio>#include<cstring> int main(){char str[110],ans[110];int t,m,l,max,pos,cnt;scanf("%d",&t);while(t--){scanf("%s",str);getchar();scanf("%d",&m);l=strlen(str);pos=0;cnt=0;for(int i=0;i<l-m;i++)//寻找l-m个最大数 {max=-1;for(int j=pos;j<=i+m;j++)//j的范围要准 {if(max<str[j]-'0'){max=str[j]-'0';pos=j;}}ans[cnt++]=max;//记录最大数 pos++;}for(int i=0;i<cnt;i++){printf("%d",ans[i]);}printf("\n");}return 0;}</span>
0 0
- NYOJ-448 寻找最大数
- nyoj 448 寻找最大数
- nyoj-448-寻找最大数
- NYOJ-448 寻找最大数
- Nyoj 寻找最大数 448
- NYOJ-448 寻找最大数
- NYOJ 448 寻找最大数
- NYOJ 448 寻找最大数
- NYOJ 448 寻找最大数
- nyoj 448 寻找最大数
- nyoj 448 寻找最大数
- NYOJ 448 寻找最大数
- nyoj 448 寻找最大数
- NYOJ-448-寻找最大数
- 寻找最大数 nyoj 448
- NYOJ--448--寻找最大数
- nyoj 448 寻找最大数
- nyoj 448 寻找最大数
- 小菜一碟 - WHCTF - 2016 - Reverse
- Big Number
- POJ3623 Best Cow Line,Gold
- 校招季--献给前端求职路上的你们(JS)
- java设计模式_抽象工厂模式
- nyoj 448 寻找最大数
- activity的进入与退出动画
- 设计模式 (7)类图四
- 工作中的小问题之日历显示篇
- Flash中的attachMovie用法之“深度”属性
- LeetCode-136:Single Number
- hdu 5750 Dertouzos
- SQL四种语言:DDL DML DCL TCL 及实例
- POJ-1659 Frogs' Neighborhood