江湖传说,有一位隐居山林的智者,精通数字推演之道。据说他能通过数字推演出未来天命,现在你需要模拟他的推算能力。输入一个代表天机之数的正整数 N(不超过 250 位),你需要删除其中任意 k 个数字,剩下的数字按照原来的顺序组成一个新的数值。
编写程序,在给定的 N 和 k 下,找出一种方案,使得剩下的数字组成的新数值最小。
输入描述
两行输入正整数。
第一行输入一个代表天机之数的正整数 N。
第二行输入一个正整数 k,表示需要删除的数字个数。
输出描述
输出一个整数,表示推演出的最小神秘数值。
用例输入 1
175438 4
用例输出 1
13
上代码:
#include<bits/stdc++.h>
using namespace std;
string st;
int n,a[251],l,k;
int main()
{
cin>>st;
cin>>n;
l=st.size();
for(int i=0;i<l;i++)
a[i]=st[i]-'0';
for(int i=1;i<=n;i++)
for(int j=0;j<l;j++)
if(a[j]>a[j+1])
{
for(int k=j;k<l;k++)
a[k]=a[k+1];
l--;
break;
}
int i=0;
while(a[i]==0&&k<l-1) {
k++;
i++;
}
for(int i=k;i<l;i++)
cout<<a[i];
return 0;
}