hdoj--3183--A Magic Lamp(贪心)
2015-11-27 22:32
281 查看
A Magic Lamp
[align=center]Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2584 Accepted Submission(s): 1010
[/align]
[align=left]Problem Description[/align]
Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lamp is not so kind. Kiki must answer a question, and then the genie will realize one of her dreams.
The question is: give you an integer, you are allowed to delete exactly m digits. The left digits will form a new integer. You should make it minimum.
You are not allowed to change the order of the digits. Now can you help Kiki to realize her dream?
[align=left]Input[/align]
There are several test cases.
Each test case will contain an integer you are given (which may at most contains 1000 digits.) and the integer m (if the integer contains n digits, m will not bigger then n). The given integer will not contain leading zero.
[align=left]Output[/align]
For each case, output the minimum result you can get in one line.
If the result contains leading zero, ignore it.
[align=left]Sample Input[/align]
178543 4
1000001 1
100001 2
12345 2
54321 2
[align=left]Sample Output[/align]
13
1
0
123
321
[align=left]Source[/align]
HDU 2009-11 Programming Contest
#include<stdio.h> #include<string.h> char s[1010]; int vis[1010]; int a[1010]; int main() { int i,j,k,l,n,m; while(scanf("%s",s)!=EOF) { scanf("%d",&m); l=strlen(s); for(i=0;i<l;i++) a[i]=s[i]-'0'; n=0; int mm=m; memset(vis,0,sizeof(vis)); while(mm--) { for(i=0;i<l-1;i++) { if(!vis[i]) { j=i+1; while(vis[j]) j++; if(a[i]>a[j]) { vis[i]=1; n++; break; } } } } int kk=m-n; for(i=l-1;i>=0;i--) { if(!vis[i]&&kk) { vis[i]=1; kk--; } } int flag=0; int p=0; for(i=0;i<l;i++) { if(!vis[i]) { if(s[i]!='0') flag=1; if(flag) { printf("%c",s[i]); p++; } } } if(p==0) printf("0"); printf("\n"); } return 0; }
相关文章推荐
- Kafka---如何配置Kafka集群和zookeeper集群
- 第二个Sprint冲刺第五天
- hdoj--3183--A Magic Lamp(贪心)
- Creating and destroying objects
- python中%r和%s的区别
- Spring声明式事务管理(基于xml的方式)
- javascript函数中的匿名函数
- 面试时必须准备的100 个关键问题!
- iOS应用程序短信分享和邮件分享
- nodejs-初探-简单的判定位置是否在市区API
- Redis failover过程
- Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍
- foj 2150 Fire Game(bfs暴力)
- block原理
- 【生活感触】:生活要稳健(只看标题即可)
- 光流检测运动物体
- HDU 1394 Minimum Inversion Number【线段树,归并排序,树状数组】
- LibSVM(java版)的使用
- 阿里云服务器配置php+apache+mysql+phpMyadmin开发环境并上传本地代码
- 软件性能测试的几种方法