删除数字
来源:互联网 发布:穿越火线数据异常36_2 编辑:程序博客网 时间:2024/06/05 20:12
删数问题
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss
Problem Description
键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。
Input
输入有多组 每组包括原始数n,要去掉的数字数s;
Output
输出去掉s个数后最小的数
Example Input
178543 4
Example Output
13
Hint
每一步总是选择一个使剩下的数最小的数字删除,即按高位到低位的顺序搜索,若各位数字递增,则删除最后一个数字;否则删除第一个递减区间的首字符,这样删一位便形成了一个新的数字串。然后回到串首,按上述规则再删除下一个数字。
注意前导0的处理!!!比如10005 3 答案应该是0。2001 1答案应该是1。
#include <stdio.h>#include <string.h>int main(){ char a[105]; int n,i,j,t,len; while(scanf("%s %d",a,&n)!=EOF) { len=strlen(a); t=n; if(n>=len) { printf("0\n"); continue; } while(n>0) { i=0; while(i<len&&a[i]<=a[i+1]) i++; for(j=i;j<len;j++) a[j]=a[j+1]; n--; } i=0; if(a[0]=='0') { while(a[i]=='0') i++; } if(i==len-t) printf("0"); for(j=i;j<len-t;j++) printf("%c",a[j]); printf("\n"); } return 0;}
0 0
- 删除数字
- 删除数字
- 删除数字
- 删除数字
- 删除数字
- 删除数字
- AOJ191 删除数字
- [java]间隔删除数字
- 删除字符串中的数字
- C 语言 数字删除
- 字符串删除数字
- 题目:删除数字
- lintcode-删除数字-182
- lintcode 删除数字
- 删除重复数字,java
- 删除数字vba
- LintCode 182-删除数字
- LintCode :删除数字
- Java多线程之生产者与消费者实现(1p1c)
- javascript基础:数据类型的转换
- 查看Oracle数据库所有的用户及表空间等
- Ubuntu小技巧10——Ubuntu 1410 64位安装Beyond Compare 4
- Parentheses Balance 平衡的括号 UVA 673 (DFS求解)
- 删除数字
- 删除数据库指定的表空间及注意事项
- STL之双端队列
- 2017年读书笔记
- oracle递归
- Oracle数据库:impdp导入数据库及expdp导出数据过程详解
- 使用方法注入—协调不同作用域(singleton、prototype)的bean
- linux下oracle10g监听无反应
- JavaScript中的原型链及继承