关于洛谷的玄学抓取
  • 板块CF101A Homework
  • 楼主looloa
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/7/9 23:45
  • 上次更新2023/11/3 10:50:20
查看原帖
关于洛谷的玄学抓取
924484
looloa楼主2023/7/9 23:45

贴代码.

#include <iostream>
#include <algorithm>


using namespace std;


struct alpha{
	int num;
	char ch;
}arr[30];


bool cmp(alpha a, alpha b){
	if(a.num == 0) a.num += 114514191;
	if(b.num == 0) b.num += 114514191;
	
	return a.num < b.num;
}


bool is_deleted[30];
string str;
int k, numtype;

int main(){
	cin >> str >> k;
	
	for(int i=0; i<26; i++){
		arr[i].num = 0;
		arr[i].ch = 'a'+i;
	}
	
	for(auto i=0u; i<str.size(); i++){
		if(arr[str[i]-'a'].num == 0) numtype++;
		arr[str[i]-'a'].num++;
	}
	
	sort(arr, arr+26, cmp);
	
	for(int i=0; arr[i].num<=k and arr[i].num!=0 and i<26; i++){
//		cout << arr[i].ch << ' ' << arr[i].num << endl;
		k -= arr[i].num;
		is_deleted[arr[i].ch-'a'] = true;
		numtype--;
	}
	
	cout << numtype << endl;
	for(auto i=0u; i<str.size(); i++){
		if(!is_deleted[str[i]-'a']) cout << str[i];
	}
}

神奇的是,这串代码在CF中是AC的,但在洛谷里就是UKE.

萌新没怎么搞懂洛谷remote judge的使用方法,遇到这种问题如何解决呢?

2023/7/9 23:45
加载中...