贪心、动态规划之删数问题2072
来源:互联网 发布:java开发笔试题及答案 编辑:程序博客网 时间:2024/06/03 21:36
删数问题
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。
Input
输入有多组 每组包括原始数n,要去掉的数字数s;
Output
输出去掉s个数后最小的数
Example Input
178543 4
Example Output
13
集训老师讲的时候做的可明白了,几天没敲代码,忘得差不多了,今天做的时候一直wa,原来没考虑最后输出应注意的问题,万一最后删除之后剩下000,则输出0(最后要把字符串以数的形式输出)
思路:1:因为输入的高精度的整数小于100位,所以以字符串的形式输入。
2: 从 第一个元素开始,凡是增序就删除。
#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){ char s[102]; memset(s,0,sizeof(s)); int m; while(scanf("%s %d",s,&m) !=EOF) { int i,j,k; int n = strlen(s); for(i = 0;i<=m-1;i++) { n = strlen(s); for(j = 0;j<=n-1;j++) { if(s[j]>s[j+1]) { for(k = j;k<=n-1;k++) s[k] = s[k+1]; break; } } } n = strlen(s); i = 0; while(i<n&&s[i]=='0') i++; if(i<n) { while(i<n) { printf("%c",s[i]); i++; } } else printf("0"); printf("\n"); } return 0;}
阅读全文
0 0
- 贪心、动态规划之删数问题2072
- 最好懂得贪心算法+动态规划之数塔问题
- 贪心法__动态规划-数塔问题
- 算法之动态规划-->>数塔问题
- 动态规划算法之数塔问题
- 动态规划之数塔问题
- 动态规划专题之数塔问题
- 动态规划专题之数塔问题
- 动态规划----贪心的动态规划问题
- 贪心之删数问题
- 动态规划和贪心算法之背包问题理解
- 动态规划与贪心算法之课程安排问题
- 回文数问题;动态规划;
- 动态规划----数塔问题
- 数塔问题----动态规划
- 动态规划~数塔问题
- 动态规划:数塔问题
- [动态规划]数塔问题
- 结构体
- java面向对象/多态
- SpringMVC框架中文乱码解决方案
- windows server 2008搭建NTP时间服务器和客户端
- GPUImage学习日记(1)
- 贪心、动态规划之删数问题2072
- F12 console的用法,以及如何debug程序?
- 计蒜客-三值排序(贪心)
- 内联函数与宏定义
- (reading)A Hierarchical Approach for Generating Descriptive Image Paragraphs
- RE:JAVA学习-认识正则表达式、Object类及包装类
- Spring Data MongoDB 使用group和unwind实现对数组数据进行简单统计
- Hard challenge
- spark sql对seq值的包装