NYOJ_448 寻找最大数
2016-07-28 15:33
239 查看
描述
请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,
比如当n=92081346718538,m=10时,则新的最大数是9888
输入第一行输入一个正整数T,表示有T组测试数据
每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)输出每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数样例输入
样例输出
解题思路:
从最高位向下扫描,保持序列的递减性,若违反递减性,就将该数删除。 eg: 9878 删除7 得到 988
若整个序列都是递减的,就直接删除最后一个数。
代码:
#include<cstdlib>
#include<string.h>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<ctime>
#include<cstdio>
#include<stack>
#include<map>
#include<queue>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
char ss[200];
int nn;
int tt;
cin>>tt;
while(tt--)
{
scanf("%s%d",ss,&nn);
int len=strlen(ss);
while(nn--)
{
int i;
for(i=1;i<len;i++)
{
if(ss[i]>ss[i-1])
{
break;
}
}
if(i<len)
{
for(int j=i-1;j<len-1;j++)
{
ss[j]=ss[j+1];
}
}
ss[len-1]='\0';
len--;
}
for(int i=0;i<len;i++)
{
cout<<ss[i];
}
cout<<endl;
}
return 0;
}
请在整数 n 中删除m个数字, 使得余下的数字按原次序组成的新数最大,
比如当n=92081346718538,m=10时,则新的最大数是9888
输入第一行输入一个正整数T,表示有T组测试数据
每组测试数据占一行,每行有两个数n,m(n可能是一个很大的整数,但其位数不超过100位,并且保证数据首位非0,m小于整数n的位数)输出每组测试数据的输出占一行,输出剩余的数字按原次序组成的最大新数样例输入
2 92081346718538 10 1008908 5
样例输出
9888 98
解题思路:
从最高位向下扫描,保持序列的递减性,若违反递减性,就将该数删除。 eg: 9878 删除7 得到 988
若整个序列都是递减的,就直接删除最后一个数。
代码:
#include<cstdlib>
#include<string.h>
#include<iostream>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<ctime>
#include<cstdio>
#include<stack>
#include<map>
#include<queue>
#include<vector>
#include<cctype>
using namespace std;
int main()
{
char ss[200];
int nn;
int tt;
cin>>tt;
while(tt--)
{
scanf("%s%d",ss,&nn);
int len=strlen(ss);
while(nn--)
{
int i;
for(i=1;i<len;i++)
{
if(ss[i]>ss[i-1])
{
break;
}
}
if(i<len)
{
for(int j=i-1;j<len-1;j++)
{
ss[j]=ss[j+1];
}
}
ss[len-1]='\0';
len--;
}
for(int i=0;i<len;i++)
{
cout<<ss[i];
}
cout<<endl;
}
return 0;
}
相关文章推荐
- 谷歌浏览器调试快捷键
- Android调试中使用默认的 签名文件
- 使用GitHub
- C++ typedef用法小结
- binary search二分检索(查找)
- 七牛使用
- 修改Windows/Ubuntu/Mint多系统的默认启动顺序
- hive 脚本接受参数
- 复杂声明的例题解析
- Java学习笔记(25)Binary Search Trees
- OI算法汇总
- position属性:absolute与relative的区别
- bzoj1051 受欢迎的牛 tarjan
- iOS开发富文本NSAttributedString属性
- 阿里笔试题-自己尝试做的答案
- python性能优化建议
- linux安装jdk
- –DVWA-command injection
- iOS 开发 排序问题 (好友列表,按字母排序)
- 深入参与了一个分布式系统了,好多想法不一样了!