1112 Stucked Keyboard

#include<iostream>

#include<map>

#include<set>

#include<string>

using namespace std;

bool sureNobroken256;

int main(){

int k,cnt=1;

cin>>k;//字符出现次数的阈值

string s;

cin>>s;

map<char,bool>m;//记录是否为坏键

set<char>printed;//记录已经输出的字符

char pre='#';

s=s+'#';

//第一次遍历,标记可能坏掉的键

for(int i=0;i<s.length();i++){

if(si==pre){

cnt++;

}else{

//如果连续出现的不是k的倍数,说明不是坏键

if(cnt%k!=0){

sureNobrokenpre=true;

}

cnt=1;

}

//如果当前出现的字符数是k的倍数,表示其为坏键

if(i!=s.length()-1){

ms\[i]=(cnt%k==0);

}

pre=si;//更新前一个字符

}

//第二次遍历,修正标记

for(int i=0;i<s.length()-1;i++){

if(sureNobrokens\[i]){

ms\[i]=false;

}

}

//输出所有坏键

for(int i=0;i<s.length()-1;i++){

if(ms\[i]&&printed.find(si)==printed.end()){

cout<<si;

printed.insert(si);

}

}

cout<<endl;

//输出修正后的字符

for(int i=0;i<s.length()-1;i++){

cout<<si;

if(ms\[i]){

i=i+k-1;

}

}

return 0;

}

相关推荐
jimy17 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
2601_970703837 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法
心中有你02147 小时前
Java实现Dijkstra最短路径算法(邻接表 + 优先队列)
java·数据库·算法
ZhengEnCi8 小时前
同样的模型,为什么本地和云 API 差别那么大:量化精度、聊天模板与采样参数的三大元凶
人工智能·算法·llm
会编程的小孩9 小时前
C++ 定时器
c++
Flynn Liang9 小时前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai
liminla!9 小时前
SQL 从入门到进阶:语法速查与实战练习(完整优化版)
数据库·sql·算法
沫璃染墨10 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
维克兜率天10 小时前
【维克】指数调整:哪些股票会被“强制买入“?
人工智能·python·算法
罗西的思考11 小时前
【轻量化复刻大模型】线性注意力交互式演示
人工智能·算法·机器学习