HDU3183A Magic Lamp,和NYOJ最大的数一样
A Magic Lamp
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2937 Accepted Submission(s): 1145
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?
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.
If the result contains leading zero, ignore it.
178543 4
1000001 1
100001 2
12345 2
54321 2
13
1
0
123
321
我的天,这个题只要细心基本上没什么大问题,哎,,,,做的好辛苦啊,,思路也和NYOJ上贪心专题里的最大的数一样,,,可是把代码复制过来改改交却WA了一遍又一遍,,改的好辛苦,依旧错。。。
看起来都没多大区别:
#include<bits/stdc++.h>
using namespace std;
const int N=1001;
char a[N],b[N];
int main()
{
int n,i,j,k1,k2,k3,x1,x2;
while(~scanf("%s%d",a,&n))
{
memset(b,'0',sizeof(b));
x1=strlen(a);
if(x1==n)
{
printf("0\n");
continue;
}
else
{
j=k1=k3=0,k2=n,x2=x1-n;
char c;
while(x2--)
{
c=a[k1],k3=k1;
for(i=k1; i<=k2; i++)
{
if(k1==k2)
{
k3=k2;
break;
}
if(a[i]<c)
c=a[i],k3=i;
}
b[j++]=c,k1=k3+1,k2++;
}
for(i=0; i<j; i++)
if((b[i]!='0')||(i==j-1))
{
x2=i;
break;
}
for(i=x2; i<j; i++)
printf("%c",b[i]);
printf("\n");
}
}
return 0;
}
怎么说嘞,只能说做题沉心静气,细心~~


HDU3183A Magic Lamp,和NYOJ最大的数一样的更多相关文章
- hdu-3183A Magic Lamp(贪心)
题目的意思是: 给你一个大数,然后删减其中的K个数,并且剩下的数还是按原来在的先后次序排列,求所得的那个数最小的那个数. 思路:贪心(要取得数最小,你从左往右选数的时候,选的第一数,就是选后组成数的位 ...
- HDOJ 3183 A Magic Lamp
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- hdu 3183 A Magic Lamp(RMQ)
题目链接:hdu 3183 A Magic Lamp 题目大意:给定一个字符串,然后最多删除K个.使得剩下的组成的数值最小. 解题思路:问题等价与取N-M个数.每次取的时候保证后面能取的个数足够,而且 ...
- A Magic Lamp(贪心+链表)
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- hdu 3183 A Magic Lamp(RMQ)
A Magic Lamp Time Limi ...
- hdu 3183 A Magic Lamp rmq或者暴力
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Pro ...
- hdu A Magic Lamp
http://acm.hdu.edu.cn/showproblem.php?pid=3183 A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) ...
- HDU_3183_A Magic Lamp
A Magic Lamp Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- HDU 3182 ——A Magic Lamp(思维)
Description Kiki likes traveling. One day she finds a magic lamp, unfortunately the genie in the lam ...
随机推荐
- codeblock 16.01
1.不希望for (int i = 1; i <= n; ++i) { } 中间按下去后,自动缩进到中间,只缩进到下一行. 可以去掉其中一个. 2.不自动完成,就是出现一个括号后不补充另一个. ...
- SOLRJ单机-添加文档,删除,查询操作
单机solrJ不需要占用太多的服务器和资源,本机使用solr-6.3.0,也不需要配置tomcat. 一.新建一个java工程需要依赖的jar包如下: solr-solrj-6.3.0.jar; c ...
- sed.exe 在bat中使用时,需要另外起一个文件
今天在windows使用sed.exe时,同一个文件死活不生效,然后换了一个bat,再来调用,就可以了,怀疑跟sed.exe的代码有关.有时间再研究
- 【学习笔记】后端中的MVC和前端MVVM的关系
- Java&Xml教程(九)Java中通过XSD校验XML合法性
Java XML校验API能够通过XSD(XML Schema Definition)校验XML文件内容的合法性.在下面的案例中使用javax.xml.validation.Validator 类通过 ...
- qt5 上传图片到http服务器
转载请注明出处:http://www.cnblogs.com/dachen408/p/8185060.html qt5 上传图片到http服务器,亲测可以用,qt5.8+vs2015,直接上码; 头文 ...
- execve - 执行程序
总览 (SYNOPSIS) #include <unistd.h> int execve (const char *filename, char *const argv [], char ...
- uva10570 Meeting with Aliens
先证明把每次i放到i位置最后次数最少:感觉,可以,用归纳法? //在序列后再加一个相同的序列,就可以模拟用各个数字开头的情况了每个位置不对的只需要换一次54123 ,5固定->41235变成12 ...
- 看云&gitbook 写帮助文档 | 专注于文档在线创作、协作和托管
看云 写帮助文档 | 专注于文档在线创作.协作和托管 https://www.kancloud.cn/manual/thinkphp/1678 https://www.gitbook.com/
- docker 框架概述
docker的框架 docker 使用传统的client-server架构模式,用户端通过docker client 与docker daemon 建立通信,并将请求发送给后者,而docker后端时 ...