题目大意:给定一个数字N位,删去M位后最大是多少
题解:傻逼题。
//HDU 3183
#include<cstdio>
#include<cstring>
#include<iostream>
#define MAXN 1010
using namespace std;
int a[MAXN],b[MAXN];
int main()
{
while(scanf("%1d",&a[1])!=EOF&&a[1])
{
int n=1,cnt=0,m;char ch;
while((ch=getchar())>='0'&&ch<='9') a[++n]=ch^'0';
a[++n]=-1;a[0]=0;int top;
scanf("%d",&m);
for(int i=1;i<n;i++)
if(a[i]) cnt++;
if(m>=cnt) printf("0\n");
else{
cnt=top=0;
for(int i=1;i<=n;i++)
{
while(top&&cnt<m&&a[i]<b[top])
top--,cnt++;
b[++top]=a[i];
}
int s=1;top--;
while(!b[s]) s++;
for(int i=s;i<=top;i++) printf("%d",b[i]);
printf("\n");
}
}
return 0;
}