洛谷P1106 删数问题(思维)
原题链接删数变取数就完事了#include <iostream>#include <cstring>#include <string.h>#include <stdlib.h>#include <algorithm>#include <cstdio>#include <stdio.h>#inclu...
·
删数变取数就完事了
#include <iostream>
#include <cstring>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <cstdio>
#include <stdio.h>
#include<queue>
#include<math.h>
#include<map>
#include<stack>
#include<set>
using namespace std;
#define ll long long
#define SPEED ios::sync_with_stdio(false);
inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
#define mp make_pair
#define inf 0x3f3f3f3f
char ans[500];
int main()
{
ios::sync_with_stdio(false);
string s;
cin>>s;
int n;
cin>>n;
int k=s.size()-n;
n=s.size();
int r=n-k;
int l=0;
int num=0;
while(k--)
{
char a=s[r];
int loc=r;
for(int i=r;i>=l;i--)
{
if(s[i]<=a)
{
a=s[i];
loc=i;
}
}
ans[num++]=s[loc];
l=loc+1;
r++;
}
int j=0;
if(num==1)cout<<ans[0];
else
{
while(ans[j]=='0')j++;
for(int i=j;i<num;i++)
{
cout<<ans[i];
}
}
}
更多推荐



所有评论(0)