码迷,mamicode.com
首页 > 其他好文 > 详细

SWUST OJ Delete Numbers(0700)

时间:2015-04-30 23:18:06      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

Delete Numbers(0700)

Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 1731 Accepted: 373
 
Description
给定n 位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a(n<100) 和正整数k,设计一个算法找出剩下数字组成的新数最小的删数方案。 对于给定的正整数a,编程计算删去k个数字后得到的最小数。

 

Input

第1 行是1 个正整数a。第2 行是正整数k。

 

Output
计算出的最小数(输出无前导0)

Sample Input
178543
4

Sample Output
13
 
Hint
 
Source
mryang
 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     char str[100];
 6     int LEN,i,j,t,flag=0,k;
 7     scanf("%s",str);
 8     scanf("%d",&k);
 9     LEN=strlen(str);
10     for(i=0;i<k;i++)
11     {
12         for(j=0;j<LEN-1;j++)
13         {
14             if(str[j]>str[j+1])
15             {
16                 for(t=j;t<LEN-1;t++)
17                 {
18                     str[t]=str[t+1];
19                 }
20             break;
21             }
22         }
23         LEN--;
24     }
25     for(i=0;i<LEN;i++)
26     {
27         if(flag==0&&str[i]==0)
28         {}
29         else
30         {
31             printf("%c",str[i]);
32             flag=1;
33         }
34     }
35     printf("\n");
36     return 0;
37 }

注:从高位开始,遇到降序则删除那个大的数,最后没有降序了,再考虑最后面的数,注意前导没有0。

SWUST OJ Delete Numbers(0700)

标签:

原文地址:http://www.cnblogs.com/haveyoueverbeen/p/4470008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!