求调
查看原帖
求调
1074541
liuleqi楼主2024/8/2 20:34
#include <bits/stdc++.h>
using namespace std;
int vis[255], k, cnt;
string s;
int main() {
    cin >> s >> k;
    for (int i = 0; i < s.size() - 1; i++) {
        if (s[i] > s[i + 1]) {
            vis[i] = true;
            cnt++;
            if (cnt >= k) break;
        }
    }
	if (cnt < k) {
		while(k > cnt) {
			int ma_num = -1, ma_id = 1;
	    	for (int i = 0; i < s.size(); i++) {
	    		if (!vis[i]) {
	    			if (ma_num < s[i] - '0') {
	    				ma_num = s[i] - '0';
	    				ma_id = i;
					}
				}
			}
			vis[ma_id] = true;
			cnt++;
		}
	}
	int flag = false;
    for (int i = 0; i < s.size(); i++) {
        if (!vis[i] || s[i] == '0' && !flag) {
        	cout << s[i];
            flag = true;
        }
    }
    
    return 0;
}

P1106

2024/8/2 20:34
加载中...