C/C++_log2000_2017春季算法实验2_2
2017-06-09 20:29
239 查看
[贪心]-删数问题
Description给定一个n位正整数a,删掉其中任意k(k≤n)个位,剩下的按原顺序形成一个新的正整数。找出剩下的数字最小的删数方案。编程任务:给定正整数a,删掉k位数字,计算剩下的最小数字。
Input
程序输入包括两个数字:正整数a>0,删掉的位数k(0<k≤n),其中n为a的位数。
Output
最小的剩下的数。
Sample Input
178543 4
Sample Output
13
asw:
#include <stdio.h> #include <string.h> int main() { int i,j,k,n,l; char a[110]; while(~scanf("%s",a)) { scanf("%d",&n); if(strlen(a)==n) { printf("0\n"); continue; } while(n>0) { i=0; l=strlen(a); while(i<l&&a[i]<=a[i+1]) i++; while(i<l) { a[i]=a[i+ 4000 1]; i++; } n--; } k=0; for(i=0; i<strlen(a); i++) { if(a[i]=='0') k++; //计有几个0 } if(k==strlen(a))//如果全是0,就输出0 printf("0\n"); else { for(i=0; i<strlen(a); i++) { if(a[i]!='0') { printf("%c",a[i]); break; } } //去掉前岛0,第一个数不是0就输出 for(j=i+1;j<strlen(a);j++) { printf("%c",a[j]); } } printf("\n"); } return 0; }
visitor tracker
相关文章推荐
- C/C++_log2000_2017春季算法实验1_1
- C/C++_log2000_2017春季算法实验2_1
- C/C++_log2000_2017春季算法实验2_3
- C/C++_log2000_2017春季算法实验1_3
- 2017春季阿里大文娱(优酷)——C++研发一面
- 2017 程序设计实习之C++部分作业题汇总 - H:STL 容器与算法
- Contest1014 - 2017年春季C++实验一Problem A: 4N+1型质数(函数设计)
- 内存管理:算法及其c/c++实现 翻译一
- [C++]实验六:类的静态成员的使用、多文件结构在C++程序中的使用
- [C++]实验三
- 内存管理:算法及其c/c++实现 翻译五
- C/C++常见算法收集
- 内存管理:算法及其c/c++实现 翻译六
- [C++]实验四:掌握内联函数的使用、参数个数不确定的函数的设计...
- [C++]实验八:学习类的聚集使用方法
- 关于电梯算法的C++实现(zt)
- 内存管理:算法及其c/c++实现 翻译二
- LCS 算法之C++实现
- 内存管理:算法及其c/c++实现 翻译四
- [C++]实验二:Pointer and Reference