求大佬
查看原帖
求大佬
1140603
Winterblessed楼主2024/2/25 15:18

求大佬debug

提交的时候,1、2、4、5、6 RE, 7 WA

我本地可以编译通过,提交却是RE,不太能理解,提交的是C++17标准

#include <iostream>
#include <list>
#include <string>

using namespace std;
list<int> my_list; // C++ 链表

int main() {
    string s; cin >> s;
    int k; cin >> k;
    for(auto i : s) my_list.push_back(i - '0');
    // sort(my_list.begin(), my_list.end());

    int size = my_list.size();
    auto it = my_list.begin();
    while (it != prev(my_list.end())) {
        if (*it > *next(it)) {
            my_list.erase(it);
            k--;
            if (k == 0) break;
          // 如果当前的数比后面的数大,删除当前的数
        }
        it++;
    }
    while(k--){ 
      // 如果不够减,从后面删除数字,似乎还要重新运行上面的部分?但这不是主要的,主要是为什么RE啊 55555555555
    	my_list.pop_back();
	}

    bool flag = true;
    for (auto& item : my_list) {
        // 去除前面的 0 
        if (item == 0 && flag) continue;
        cout << item;
        flag = false;
    }

    return 0;
}

2024/2/25 15:18
加载中...