问一下
  • 板块灌水区
  • 楼主zcx0628
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/8 22:34
  • 上次更新2024/11/9 10:14:24
查看原帖
问一下
779007
zcx0628楼主2024/11/8 22:34

键盘输入一个高精度的正整数 nn,去掉其中任意 kk 个数字后剩下的数字按原左右次序将组成一个新的非负整数。编程对给定的 nnkk,寻找一种方案使得剩下的数字组成的新数最小。
对了,有多组样例。
my code:

#include<bits/stdc++.h>
using namespace std;
vector<int> vec;
bool cmp(int x,int y){
	return x>y;
}
int main(){
	int t;
	cin>>t;
	while(t--){
		string n;
		int k,tmp;
		cin>>n>>k;
		for(int i=0;i<n.size();i++){
			tmp=n[i]-'0';
			vec.push_back(tmp);
		}
		sort(vec.begin(),vec.end(),cmp);
		for(int i=0;i<k;i++){
			for(int j=0;j<n.size();i++){
				if(vec[i]+'0'==n[j]){
					n.erase(j,1);
				}
			}
		}
		cout<<n<<endl;
	}
	return 0;
}

ps:其实这个玩意0分+RE

n.size() < 100 数据组数 < 100 k < n.size()

orz

2024/11/8 22:34
加载中...