hdoj A Magic Lamp 3183 (贪心)
2015-11-26 14:09
483 查看
A Magic Lamp
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2580 Accepted Submission(s): 1006
[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
#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; }
相关文章推荐
- setOnScrollListener实现网络请求上下滑动加载数据
- 点击按钮声音
- 《大话数据结构》之图的深度优先遍历
- Selenium中的几种等待方式,需特别注意implicitlyWait的用法
- 乒乓装备
- Eclipse闪退/打不开/无法启动/一闪而过打解决方法
- Android 系统中 Location Service 的实现与架构
- JAVA面试题之实现字符串的倒序输出
- 高德地图获取地图坐标
- js之onload事件的一点使用心得
- samba配置
- MYSQL 奇怪的幻读问题!!!
- 取消Eclipse的Error Reporting
- org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
- android webview js alert对话框 不能弹出 解决办法
- 分词器进阶
- 8080端口运行nginx,通过端口映射8080 NAT 80
- Android之调用本地摄像头
- 爱别人和爱自己同在
- 百度UEditor编辑器ueditor.setContent总是报错