删数问题

来源:互联网 发布:显示器测试软件 编辑:程序博客网 时间:2024/05/22 02:27

删数问题

Time Limit: 1000MS Memory limit: 65536K

题目描述

 键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。

输入

  输入有多组 每组包括原始数n,要去掉的数字数s;

输出

 输出去掉s个数后最小的数

示例输入

178543  4

示例输出

13
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int main(){    char nn[110];    int n;    while(cin >> nn)    {        cin >> n;        int len, i;        while(n --)        {            i = 0;            len = strlen(nn);            while(i < len && nn[i] <= nn[i+1]) i++;            while(i < len)            {                nn[i] = nn[i+1];                i++;            }        }        len = strlen(nn);        for(i = 0; i < len; i++)        {            if(nn[i] != '0')            {              cout << nn[i];              break;            }        }        for(int k = i+1; k < len; k++)        {            cout << nn[k];        }        cout << endl;    }    return 0;}

0 0
原创粉丝点击