1112. Stucked Keyboard (20)
注:如果存在这样的字符串,sss_sssaedsss_s,那么我们认为s是好键(次数为3),所以,在一开始,我们第一次访问的时候,不能马上确定哪些键是坏键,哪些键是好键,所以不能进行在线处理;
解决这道题的做法是先对整个字符串进行访问,确定出哪些好键,因为只要出现连续的次数不是k的整数倍,那么,一定是好键

#include <stdio.h>
#include <string.h>
int main()
{int times,len,isWell[178]={0},isStucked[178]={0};char sample[1000+10],ch,ans[1000+10],w[178];scanf("%d",&times);getchar();gets(sample);len=strlen(sample);for(int i=0;i<len;){int s=i+1,count=1;while(sample[s]==sample[i]&&s<len){++count;++s;}if(count%times)isWell[sample[i]-'\0']=1;i=s;}int k=0,m=0,cnt=0;ch=sample[0];for(int i=0;i<len;++i){if(isWell[sample[i]-'\0'])ans[k++]=sample[i];else{ch=sample[i];while(ch==sample[i]&&i<len){++i;++cnt;}--i;if(isStucked[ch-'\0']==0){w[m++]=ch;isStucked[ch-'\0']=1;}cnt/=times;while(cnt--)ans[k++]=ch;cnt=0;}}w[m++]='\n';ans[k++]='\0';for(int i=0;i<m;++i)printf("%c",w[i]);puts(ans);return 0;
}

转载于:https://www.cnblogs.com/xLester/p/7570366.html

1112. Stucked Keyboard (20)相关推荐

  1. 1112 Stucked Keyboard (20 分)【难度: 一般 / 知识点: 模拟】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805357933608960 刚开始先初始化都是坏的,然后遍历字符串如果一 ...

  2. PAT甲级1112 Stucked Keyboard:[C++题解]卡住的键盘、双指针、去重

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析 双指针算法来统计连续出现的字符的次数,如果 %k 不为0说明不是卡住的字母,做好标记. 再次遍历字符串,坏的输出,顺便统计正常的字符串 ...

  3. 1112 Stucked Keyboard

    题意:坏掉的键若被按下,总是重复打出k次.比如,k为3,打出的序列如下-- thiiis iiisss a teeeeeest 坏掉的键是i和e,虽然iiisss中s也出现了3次,但它不是坏掉的键,因 ...

  4. PAT Broken Keyboard (20)

    题目描写叙述 On a broken keyboard, some of the keys are worn out. So when you type some sentences, the cha ...

  5. 【简便解法】1084 Broken Keyboard (20 分)_16行代码AC

    立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 On a broken keyboard, some of the keys are worn out. So when you ...

  6. 1084. Broken Keyboard (20)

    题目例如以下: On a broken keyboard, some of the keys are worn out. So when you type some sentences, the ch ...

  7. 【PAT甲级 删除字符串中重复字母】1084 Broken Keyboard (20 分) Java 全部AC

    题目 题解 Java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRead ...

  8. PAT甲级题目翻译+答案 AcWing(数学)

    1059 Prime Factors (25 分) 题意 : 给一正整数,要求分解质因数 思路 : 使用is_first,来完成除了第一个质因数前都有*的效果 如果n=1,要特判 最后如果n>1 ...

  9. 刷PAT甲级的各题思路、细节以及遇到的问题记录

    1001 A+B Format (20分) 因为一定会用到字符串,而string非常好用,但是用的时候一定要注意不能越界访问,否则会在运行时出现abort() has been called. 100 ...

最新文章

  1. GBDT和GNN结合,结果怎么样?
  2. SQL中的Where,Group By,Order By和Having的用法/区别
  3. 如何给按钮加上链接功能
  4. solr后台界面介绍——(十一)
  5. python训练营朋友圈留言_用Python发一个高逼格的朋友圈【附代码】
  6. jQuery Ajax
  7. 一个没有停止的android闹钟,一旦开始就要把歌唱完 .
  8. 学习SQL:SQL Server数据透视表
  9. Firebird数据库的Select语句
  10. poythoncode-实战5--json 文件读取,文本文件,csv文件,存到系统中以大列表方式进行存储
  11. CXF学习(1)——CXF框架
  12. 计算机网络可以划分几个阶段,计算机网络的发展可以划分为几个阶段.doc
  13. CUDA Occupancy Calculator中计算占用率
  14. 简单说明什么是网络的DMZ区域
  15. 中国物流网很难进入运输颓势
  16. 二项分布与负二项分布卡片
  17. 苏嵌//张福辉//2018.7.27
  18. 体验最近火爆的ChatGPT,真的被震惊到了
  19. 国内从事机器视觉领域的公司(转)
  20. AVKiller病毒的清除

热门文章

  1. 电脑计算机科学型,电脑里附带的计算器有标准型和科学型二种,它 – 手机爱问...
  2. python dataframe显示网格_python dataframe 输出结果整行显示的方法
  3. java 路径中文问题_Java 路径问题解决方案汇集
  4. c++ 测试串口速率_Raspberry Pi Zero W:串口(UART)的配置和使用
  5. python gil 解除_python GIL的解读
  6. 怎么彻底删除电脑上的软件_你的电脑有救了:1 个神器几个进阶方法彻底删除流氓软件!...
  7. 泛型java 代码讲解_Java泛型详解
  8. mysql中的%_mysql入门
  9. 【javaweb】eclipse重启后tomcat打不开解决方法
  10. 获取服务器路径的方式 【记录】