洛谷P1106删数问题
此题看起来非常简单,原本以为可以很快AC。。。然而在细节处理上出了问题
debug半小时..
#include<bits/stdc++.h>
using namespace std;
char s[255];
int a[255];
int k;
int main() {
scanf("%s",s+1);
int l=strlen(s+1);
// printf("%d",l);
scanf("%d",&k);
for(int i=1; i<=l; i++)
a[i]=s[i]-'0';
for(int j=1; j<=k; j++) {
for(int i=1; i<=l-1; i++) {
if(a[i]>a[i+1]) {
for(int p=i; p<=l-1; p++) {
a[p]=a[p+1];
}
// a[l]=-1;
break;
}
}
l--;}//这个位置的l--卡了好久,原来写在if里面有一次没法执行
bool flag=0;
for(int i=1; i<=l; i++) {
if(a[i]!=0) flag=1;
if(flag==1)
printf("%d",a[i]);
}
if(!flag) {
printf("0");
return 0;
}
return 0;
}