1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include<iostream> #include<algorithm> #include<string> using namespace std; int n; string s; int main(){ ios::sync_with_stdio(false); cin >> s; cin >> n; for (int i = 0; i < s.length(); i++){ if (s[i]>s[i + 1]&&n>0){ s.erase(i, 1); n--; i=-1;//注意这里不是i--;因为有可能不符合顺序的数字出现在前面,需要重新返回头去找! } if (n == 0)break; } while (n--){ s.erase(s.length() - 1, 1); } while (s[0] == '0')s.erase(s.begin()); if(!s.empty())cout << s; else cout << "0"; } |
洛谷 删数问题
发表评论