16分
我真的尽力了!!什么鬼啊,为啥还有两个点不过
再写心态就炸了
set.find找不到返回set.end()
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
#include <vector>
#include <cstring>
#include <set>
#include <map>
using namespace std;
int n;
set<char> ans1,ans;
string input,no;
int main()
{
cin >> n;
cin >> input;
int tt = 1;
for(int i=1; i<input.length(); i++){
//cout << input[i] << " i " << input[i-1] << endl;
//cout << tt << endl;
if(input[i]!=input[i-1]) {
if(tt%n!=0){
//cout << tt << " " << input[i-1] << endl;
ans1.insert(input[i-1]);
}
tt = 1;
}
else{
tt+=1;
}
}
if(tt%n!=0) ans1.insert(input[input.length()-1]);
set<char>::iterator it;
for(int i=0; i<input.length(); i++){
if(ans1.find(input[i])==ans1.end()) ans.insert(input[i]);
}
for(it = ans.begin(); it != ans.end(); it++){
cout << *it;
}
cout << endl;
int sum = 0;
for(int i=0; i<input.length(); i++){
if(ans1.find(input[i])!=ans1.end()){
cout << input[i];
}
else{
sum++;
if(sum%n==0){
cout << input[i];
sum = 0;
}
}
}
return 0;
}

本篇博客深入探讨了使用C++处理字符集的技巧,特别是在利用set进行字符查找与迭代操作方面。作者分享了一段代码,旨在从输入字符串中筛选并输出特定字符,同时展示了如何使用set的find方法判断元素是否存在,并通过迭代器遍历集合。通过对代码的分析,读者可以了解到set数据结构的高效应用,以及如何在C++中优雅地解决字符处理问题。

523





