Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
133619 | 谢思涵 | 删数问题 | C++ | 通过 | 100 | 0 MS | 248 KB | 665 | 2024-03-02 08:36:47 |
#include <iostream> #include <string> using namespace std; string n; int r; string min(string a, string b) { if(a.size() < b.size()) return a; else if(a.size() > b.size()) return b; for(int i = 0; i < a.size(); i++) {if(a[i] < b[i]) return a; else if(b[i] < a[i]) return b;} return a; } void remove(string n, int step) { if(step > r) {cout << n << endl; return;} int len = n.size(); string minn = n; for(int i = 0; i < len; i++) { string t = n.substr(0, i) + n.substr(i + 1, len); minn = min(minn, t); } n = minn; remove(n, step + 1); } int main() { cin >> n >> r; int len = n.size(); remove(n, 1); return 0; }