RE只对前两个点
查看原帖
RE只对前两个点
712068
Snow_Dog7楼主2024/9/16 10:18
#include<bits/stdc++.h>
using namespace std;

string s,ss;
string ans;
int n,p;
bool v[11451414];

int main() { 
	cin >> n;
	cin >> s;
	cin >> p;
	ss = s;
	sort(s.begin(),s.end());
	int now = 0;
	for (int i = 0;i < n;++i) {
		if (s[i] == ss[p - 1]) {
			now = i;
			v[i] = 1;
			break;
		}
	}
	ans[0] = ss[now];
	for (int i = n - 1;i >= 0;--i) {
		for (int j = n - 1;j >= 0;--j) {
			if (ss[now] == s[j] && !v[j]) {
				ans[i] = ss[now];
				now = j;
				v[j] = 1;
				break;
			}
		}
	}
	for (int i = 0;i < n;++i) cout << ans[i];
}
2024/9/16 10:18
加载中...