1112 Stucked Keyboard (20 分)难度: 一般 / 知识点: 模拟
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1112 Stucked Keyboard (20 分)难度: 一般 / 知识点: 模拟相关的知识,希望对你有一定的参考价值。
https://pintia.cn/problem-sets/994805342720868352/problems/994805357933608960
刚开始先初始化都是坏的,然后遍历字符串如果一段相同的字符串的长度不可以整除k,那么就是好的。
#include<bits/stdc++.h>
using namespace std;
int k;
string s;
map<char,int>st,hush;
int main(void)
for(int i=0;i<10;i++) st['0'+i]=-1;
for(int i=0;i<26;i++) st['a'+i]=-1;
st['_']=-1;
cin>>k>>s;
for(int i=0;i<s.size();i++)
int j=i;
while(j+1<s.size()&&s[i]==s[j+1]) j++;
if((j-i+1)%k) st[s[i]]=0;//是好的
i=j;
for(int i=0;i<s.size();i++)
if(!hush[s[i]]&&st[s[i]]==-1) cout<<s[i],hush[s[i]]++;//是坏的且首次出现
cout<<endl;
for(int i=0;i<s.size();i++)
cout<<s[i];
if(hush[s[i]])//是坏的
int j=i+k-1;//直接跳过重复的
i=j;
以上是关于1112 Stucked Keyboard (20 分)难度: 一般 / 知识点: 模拟的主要内容,如果未能解决你的问题,请参考以下文章
PAT A1112 Stucked Keyboard (20 分)——字符串
1112 Stucked Keyboard (20 分)难度: 一般 / 知识点: 模拟
PAT (Advanced Level) 1112. Stucked Keyboard (20)