【描述】键盘输入一个正整数N,去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S寻找一种方案使得剩下的数字组成的新数最小。(N不超过240位,N>S)

【输入】两行,第一行:正整数N;第二行:正整数S。

【输出】n去掉的s个数字后组成的新的正整数m。

【样例输入】

123006

2

123006

3

【样例输出】

1006

6

【题解】

枚举数字a[ i ],再判断数字a[ i ]是不是在a[i,i+s]中最小,如果不是就删除,每删除一个就使s减1,直到s等于0,或剩余的数量小于总长度,那么剩下的数字都要比前面的数字大,全部删除。

#include<algorithm>
#include<cstdio>
#include <iostream>
#include <cstring>
using namespace std;
char a[1000];
int vis[1000];
int s;
int main ()
{int t,i,j,flag,flag1,len,h0;while(scanf("%s",a)!=EOF){cin>>s;flag=0;memset(vis,-1,sizeof(vis));len=strlen(a);//输出为0的特殊情况 h0=0;for(i=0;i<len;i++){if(a[i]=='0'){h0++;}}if(s>=len-h0){cout<<"0\n";continue; }//一般情况for(i=0;i<len;i++){t=0;for(j=1;j<=s;j++){if(a[i]>a[i+j]){vis[i]=0;s--;break;}}if(i+s+1>len){len-=s;break;}if(!s){break;}} flag1=0;for(i=0;i<len;i++){if(!flag1 && a[i]=='0'){continue;}if(vis[i]){flag1=1;cout<<a[i];}}if(!flag1){cout<<'0';}cout<<endl;}return 0;
}  

【ACM】删数问题(待更)相关推荐

  1. 信息学奥赛一本通 1321:【例6.3】删数问题(Noip1994) | 洛谷 P1106 删数问题

    [题目链接] ybt 1321:[例6.3]删数问题(Noip1994) 洛谷 P1106 删数问题 [题目考点] 1. 贪心 [解题思路] 解法1:每次找k+1个数中的最小值 假设我们从左向右扫描每 ...

  2. 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成⼀个新的正整数,求组成的新数最小的删数方案(O((n-k)logk)优化)

    问题描述 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成⼀个新的正整数.对于给定的n和k,设计⼀个算法,找出剩下数字组成的新数最少的删数方案. 这一道题来自zyq老师的算法分析与 ...

  3. SDUT 贪心算法 删数问题

    Problem Description 键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数.编程对给定的n与s,寻找一种方案,使得剩下的数 ...

  4. 7-9 删数问题 (10 分)(思路加详解)

    一:题目 有一个长度为n(n <= 240)的正整数,从中取出k(k < n)个数,使剩余的数保持原来的次序不变,求这个正整数经过删数之后最小是多少. 输入格式: n和k 输出格式: 一个 ...

  5. python贪心算法求删数问题_贪心算法删数问题

    删数问题 给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列组成一个新的正整数.对于给定的n和k,设计一个算法,找出剩下数字组成的新数最少的删数方案. 输入示例: 178543 4 输出 ...

  6. 信息学奥赛一本通(1321:【例6.3】删数问题(Noip1994))

    1321:[例6.3]删数问题(Noip1994) 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 18133     通过数: 6280 [题目描述] 输入一个高 ...

  7. 贪心算法——洛谷(P1106)删数问题

    首先,我们先举一个例子: 1 7 5 4 3 8 删的个数:4 不难看出: 第一次删的应该是 7 第二次删的应该是 5 第三次删的应该是 4 第四次删的应该是 8 那么,剩下的数就是"13& ...

  8. 1145: 零起点学算法52——数组中删数II

    1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 29 ...

  9. Python(贪心算法)问题 D: 删数问题_输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数。

    问题 D: 删数问题 题目描述 输入一个高精度的正整数N,去掉其中任意S个数字后剩下的数字按原左右次序组成一个新的正整数. 编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小. 输出新的正整 ...

  10. 2015年京胜杯删数!删数

    删数?删数! Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 68 Accepted: 7 Description 一个集合 ...

最新文章

  1. 一劳永逸,iOS 自定义 ActionSheet 封装流程
  2. 免费送书啦!《 OpenCV图像处理入门与实践》一本全搞定
  3. apk修改strings.xml后重新打包出错
  4. 相机开发:海康板卡相机开发
  5. 关于c++ template的branching和Recursion的一段很好的描述
  6. 扩展枚举功能的两种方法
  7. win10禁止数字签名
  8. 第一次用联接查询语句,豁然开朗!!
  9. android mms 广播,Android-如何成为第一个接收WAP PUSH(MMS)的人
  10. 静态NAT64实验配置
  11. 阿里巴巴宣布传承计划,没有马云的阿里会如何?
  12. 网络安全证书已过期或不可信怎么办
  13. 用python实现水纹特效
  14. Mac安装Adobe Zii5.3.0过程
  15. 虚拟化技术(一)——虚拟化简介
  16. day68 Django--中间件
  17. 移动端 简易的table表格
  18. 心电图计算心率公式_【减脂心率计算公式】_计算方法_如何计算-大众养生网
  19. 搭建电商积分商城系统技术要点
  20. 商业化广告--体系学习-- 4 -- 行业蓝图篇 -- 广告产品的变化与发展趋势

热门文章

  1. SDK安装报错HTTP Status 416
  2. 手机应用软件测试的思路与要点
  3. 串的堆分配存储c语言,数据结构c语言串的堆分配存储源程序
  4. 前百度面试官整理的——Java后端面试题(一)
  5. “智享未来 知行合一”,开为科技AI产品发布会于2月6日召开
  6. Qunee for HTML5 V2.5新版本发布
  7. SQL server 专业词汇
  8. 【HDOJ】3275 Light
  9. C#不错的扩展工具类
  10. 【电子基础】模拟电路问答