Description:
有一个大整数.不超过1000位.假设有N位.我想删掉其中的任意S个数字.使得删除S位后,剩下位组成的数是最小的. Input:
有多组数据数据,每组数据为两行.第一行是一个大整数.第二行是个整数S,其中S小于大整数的位数. 输入以EOF结束。 Output:
对于每组输入数据,请输出其删除后的最小数. Sample Input:
178543
4
100002
1
Sample Output:
13
2

解题思路:

删除比它下一位大的数字,删除S次即可

注意的是要对答案取出前导0

Source Code:

//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <cstring>
#include <cmath>
#include <stack>
#include <string>
#include <map>
#include <set>
#include <list>
#include <queue>
#include <vector>
#include <algorithm>
#define Max(a,b) (((a) > (b)) ? (a) : (b))
#define Min(a,b) (((a) < (b)) ? (a) : (b))
#define Abs(x) (((x) > 0) ? (x) : (-(x)))
#define MOD 1000000007
#define pi acos(-1.0) using namespace std; typedef long long ll ;
typedef unsigned long long ull ;
typedef unsigned int uint ;
typedef unsigned char uchar ; template<class T> inline void checkmin(T &a,T b){if(a>b) a=b;}
template<class T> inline void checkmax(T &a,T b){if(a<b) a=b;} const double eps = 1e- ;
const int N = ;
const int M = * ;
const ll P = 10000000097ll ;
const int MAXN = ;
const int INF = 0x3f3f3f3f ;
const int offset = ; string ch;
char Min;
int n, m; int main() {
std::ios::sync_with_stdio(false);
int i, j, t, k, u, c, v, p, numCase = ; while (cin >> ch) {
n = ch.size();
cin >> m;
while (m--) {
bool flag = true;//ADD
Min = ch[];
for (i = ; i < n; ++i) {
if (Min > ch[i]) {
for (j = i; j <= n; ++j) {
ch[j - ] = ch[j];
}
flag = false;//ADD
--n;
break;
} else {
Min = ch[i];
}
}
if (flag) { //ADD
--n; //ADD
} //ADD
}
i = ;
for (;;) {
if (ch[i] == '') {
++i;
continue;
}
break;
}
if (i == n) {
cout << << endl;
} else {
for (; i < n; ++i) {
cout << ch[i];
}
cout << endl;
}
} return ;
}

最新文章

  1. SQL Server数据库镜像的页面自动修复原理
  2. API调试工具推荐 - httpie
  3. SPRING SECURITY 拦截静态资源
  4. 解决Android解析图片的OOM问题!!!(转)
  5. 文件I/O之/dev/fd
  6. Margin的垂直外边距问题
  7. 十天学Linux内核之第九天---向内核添加代码
  8. 扩展Python模块系列(二)----一个简单的例子
  9. 逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构
  10. eclipse构建maven+scala+spark工程
  11. oppo8.0系统怎么无需Root激活Xposed框架的经验
  12. [译]ASP.NET Core揭秘 - Razor Pages
  13. XSS Challenges
  14. 当Flutter遇到节流与防抖
  15. 多渠道打包如何运行/debug指定的渠道
  16. Expression 生成 Lambda
  17. AUC计算 - 手把手步进操作
  18. Linux内核及分析 第五周 扒开系统调用的三层皮(下)
  19. C# 服务端获取客户端 系统/浏览器/IP
  20. SharePoint 应用程序页匿名

热门文章

  1. LintCode-删除元素
  2. Qt5位置相关函数异同详解(附源码)
  3. Qt实战之开发软件数据获取助手(eventFilter处理鼠标按下,event处理鼠标松开)
  4. C#使用WinAPI 修改电源设置,临时禁止笔记本合上盖子时睡眠
  5. 1.Getting Started
  6. Linux相关问题-CentOS6.5 x64版本号下Tomcat无法自启动的解决的方法
  7. No.3小白的HTML+CSS心得篇
  8. leetcode208 happynumber
  9. 一幅图的知识科普--Google免费DNS服务器
  10. 子进程管理模块subprocess