题目链接:Click here~~

题意:

神一样的题意。第一遍读题完全没搞懂要干啥。

其实就是给一串数字,删除k位后,不改变原顺序,要求留下的数字最小。

解题思路:

假设原数字的长度为l,即我们需要保留 l-k 位。

由感性认识,我们知道当高位数字越小时,所得结果越小。

依据这个思路,我们采用最简单的方法,以从高位向低位的顺序,一位一位的来选择保留哪位。

对于选择每一位的时候,由于不能改变数字的原顺序,所以我们要考虑选择的范围,即要为后面的数字留下足够的位数。

比如第一次选择的时候,我们需要给后面留下 l-k-1 个位置,如果设最后的数字下标是 l-1 ,则我们只能选择区间 [0,k] 中的元素。

选择完后,我们还要记录它的位置q,因为在下一次选择的时候,我们要从上次选择的数字后面开始,即[q+1,k+1]中的元素。

一般化以后,可以先初始化q为-1,则选择的区间每次都是[q+1,k+i]。( i 表示现在选择的是第几位,最高位是0)

#include <stdio.h>
#include <string.h>
int main()
{int k,l,min;char s[10005],ans[10005];while(~scanf("%s%d",s,&k)){l = strlen(s);for(int i=0,q=-1;i<l-k;i++){min = '9'+1;for(int j=q+1;j<=k+i;j++){if(min > s[j])min = s[j] , q = j;}ans[i] = min;}ans[l-k] = '\0';puts(ans);}return 0;
}

同理,我们可以知道使留下的数字最大的解法。

#include <stdio.h>
#include <string.h>
int main()
{int k,l,max;char s[10005],ans[10005];while(~scanf("%s%d",s,&k)){l = strlen(s);for(int i=0,q=-1;i<l-k;i++){max = 0;for(int j=q+1;j<=k+i;j++)if(max < s[j])max = s[j] , q = j;ans[i] = max;}ans[l-k] = '\0';puts(ans);}return 0;
}

NBUT 1181 Big Mouth of Abyss - Kog'Maw(删k位留最大最小数)相关推荐

  1. NBOJ 1181 Big Mouth of Abyss - Kog'Maw

    题目来源:http://ac.nbutoj.com/Problem/view.xhtml?id=1181 题意:前面说了一堆废话,就是说给你一个字符串,全部由数字组成,让你在里面删除n个数,最后得到的 ...

  2. iOS 搜索功能实现

    本文主要讲述了如何使用UISearchController实现搜索栏,现在把实现思路和代码整理出来分享给iOS程序员兄弟们,希望给他们的开发工作带来帮助. 查看源代码 打印帮助 1   UISearc ...

  3. iOS开发——UISearchController实现搜索栏功能|阳和移动开发

    原文链接http://www.mobile-open.com/2015/86290.html,有删节和改动. 原文主要讲述了如何使用UISearchController实现搜索栏,现在把实现思路和代码 ...

  4. iOS中 UISearchController 搜索栏 UI技术分享

    iOS中 UISearchController 搜索栏 UI技术分享 [objc] view plain copy <p style="margin-top: 0px; margin- ...

  5. 单词 2012-01-19

    mobilize [5mEubilaiz] v. 动员 mobilize mo.bi.lize AHD:[m½"b--lºz"] D.J.[6moub*7laiz] K.K.[6m ...

  6. 如何学好C语言--你的学渣朋友告诉你

    光说不练假把式,光练不说傻把式,又练又说真把式. 真实感受,不是我不想学,是我真的不知道我哪里不会啊和得怎么做啊?本文作者当初就是这么废掉的 推荐两个练习的网站 (一)C语言网 https://www ...

  7. 个人 IP 实验室周复盘 · 第 18 期

    大家好啊,我是大田. 今天来进行这一周的复盘「 7 月 4 日 -  7 月 9 日」,本周日更文章为: 1.用 Jmeter 工具做个小型压力测试 2.做接口测试都测什么?有哪些通用测试点? 3.接 ...

  8. 中通/圆通API接口 PHP 简单封装示例

    圆通 API 接口 - 简单封装 PHP yto.api.php 文件 class YTO {private $_domain = 'http://opentestapi.yto.net.cn/ser ...

  9. # 2017年蓝桥杯省赛cc++本科B组试题

    2017年蓝桥杯省赛c/c++本科B组试题 第一题:购物单 问题 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦,但又不好推辞. 这不,XX大 ...

最新文章

  1. c语言多线程转python多线程,真正的python 多线程!一个修饰符让你的多线程和C语言一样快...
  2. 从AVL树的定义出发,一步步推导出旋转的方案。
  3. 【LUOGU P1220】关路灯(区间dp)
  4. 安卓2.2刷机包_老用户福音 努比亚为红魔电竞手机和Z17用户更新安卓9.0
  5. 卷起来了!DeepMind发布媲美普通程序员的AlphaCode,同日OpenAI神经数学证明器拿下奥数题...
  6. 安全模式下修复电脑故障
  7. import pyart时报错 ValueError: numpy.ndarray has the wrong size, try recompiling.
  8. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_6_等待唤醒机制概述...
  9. 现实世界的Windows Azure:采访Gizmox 研发中心的副总裁Itzik Spitzen先生
  10. python:for循环修改list的值,应使用range
  11. 计算机多媒体基础应用,《计算机应用基础》典型多媒体课件简介
  12. 梅捷512G固态拆机+得一微YS9082HP量产教程+YS9082HP开卡工具
  13. ping localhost
  14. Python爬虫实践:优志愿 院校列表
  15. 【2022考研】 肖四大题(马原第一套)背诵笔记
  16. PS制作可爱的花豹头像
  17. oracle修改表某列字段长度
  18. Node.js | 从前端到全栈的必经之路
  19. android wear手表6,Android Wear(手表)开发
  20. html使用highcharts绘制饼图,饼图.html · 赵文博/Highcharts - Gitee.com

热门文章

  1. [博学谷学习记录]超强总结,用心分享|第07节 常用的API-----笔记篇
  2. 软件测试的未来:2021年需要关注的15大软件测试趋势
  3. python snmp_cmds库snmpwalk 中文正常显示方法
  4. mysql导出数据库1146_MySQL复制出错 Last_SQL_Errno:1146的解决方法
  5. XElement.Load 需要释放吗_蚕茧能清洁毛孔吗 蚕茧护肤的正确方法速Get√|蚕茧|清洁-爱美·BEAUTY...
  6. 美育在计算机教育中应用,浅谈在小学信息技术课堂中有效实施美育.
  7. MHA-node MHA-manger相关依赖包安装
  8. java学习路线(阿里p6)
  9. 我用MOS管做开关管却不能关闭?
  10. 片上总线Wishbone 学习(一)片上总线综述