思路:我对字符串掌握的并不好,所以这篇文章是借鉴另一位博主写的,在这里先感谢洛谷用户AC_duckling
然后,这道题难点是如何读入以及各种特殊情况的解决,不过相信看完代码大家不难理解。博主的快读函数也很用心,建议直接阅读博主文章(链接里第一个解法便是,因为无法单独查看)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
inline int read() {//最后如果有多余的行数,可以直接用快读省略掉int count = 0;char a = getchar();while (a < '0' || a>'9') {a = getchar();}while (a >= '0' && a <= '9') {count = count * 10 + a - '0';a = getchar();}return count;
}
int main() {char s[10005][10005];//去掉退格键后范文char wb[100005];//读入的原文char sr[100005];//读入的输入字符char nw[100005];//处理完退格键后的输入字符int now = 0, count = 0;//now表示范文的行数,ans表示正确的单词数while (1) {now++;gets(wb);if (wb[0] == 'E' && wb[1] == 'O' && wb[2] == 'F' && wb[3] == '\0') {break;}int len = strlen(wb);int ne = 0;//当前真正未删去的字符数量for (int j = 0; j < len; j++) {if (wb[j] == '<') {ne--;ne = max(0, ne);//忽略开头continue;}s[now][ne++] = wb[j];}}for (int i = 1; i < now; i++) {gets(sr);int len = strlen(sr);register int ne = 0;for (int j = 0; j < len; j++) {if (sr[j] == '<') {ne--;ne = max(0, ne);continue;}nw[ne++] = sr[j];}for (int j = 0; j < ne; j++) {//将去除退格键后的字串与范文对比if (nw[j] == s[i][j]) {count++;}}}int t = read();//快读忽略最后的EOF和多余的行数double min = 1.0 * t / 60;//所用的分钟printf("%d", (int)(count * 1.0 / min + 0.5));//四舍五入return 0;
}

侵删:https://www.luogu.com.cn/problem/solution/P5587

P5587 打字练习相关推荐

  1. java写游戏的聊天怎么写_怎么用JAVA编写一个打字游戏

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这个帖子是一年前发的,当时对Java也不是很懂,我看大家都对这个感兴趣,我把代码改了一下,发布出来,其实还有很多的地方还没有完善...,这个只能算一个De ...

  2. 中学计算机课 打字教案,初中信息技术《打字练习—易语言应用》教案

    初中信息技术<打字练习-易语言应用>教案 出示"金山打字"程序,并让学生操作. 请同学们小组讨论:"金山打字"程序中,都有生么样的事件发生,请学生阐 ...

  3. div 自动换行_js自动打字--autotypejs

    autotypejs use for typing automatically. 介绍 使用原生JavaScript(es6)实现的自动打字效果. 效果图 示例代码(vue): < 用法 获取: ...

  4. 联想打字必须按FN+数字-fn打字

    对于联想G40.14英寸系列的本本,好多时候无意间可能把数字键锁定了. 这时候要做的是:打开运行--输入OSK--打开虚拟屏幕键盘.这时候可以找到 选项---打开数字键盘. 有时候某些电脑上没有NUM ...

  5. 为什么要在JavaScript中使用静态类型? (使用Flow进行静态打字的4部分入门)

    by Preethi Kasireddy 通过Preethi Kasireddy 为什么要在JavaScript中使用静态类型? (使用Flow进行静态打字的4部分入门) (Why use stati ...

  6. 电脑练习打字软件_KeyBlaze Free Typing Tutor(打字练习软件)最新版下载_KeyBlaze Free Typing Tutor(打字练习软件)最新版本下载v4.02官方版...

    KeyBlaze Free Typing Tutor是一款简易的打字练习软件,支持文章打字练习.指定字典打字和打字游戏等功能,能够帮助用户提高打字速度和准确性. [使用说明] 标签式工具栏 经验教训 ...

  7. 19.04.27--作业 打字游戏

    /* 编译环境:windows系统 编译器:VC6.0 编译时间:19.04.27 编译者:黑桃3 */ #include <stdio.h> #include <time.h> ...

  8. 与 Linux 一起学习:学习打字

    "与 Linux 一起学习"的所有文章: 与 Linux 一起学习:学习打字 与 Linux 一起学习:学习物理 与 Linux 一起学习:学习音乐 与 Linux 一起学习:学习 ...

  9. ikbc键盘自动打字_键盘按斤卖,一斤一百块?IKBC W200机械键盘简晒

    前言: 前段时间,自命"伪▪胶佬"的内酷,入手了一把IKBC & GUNDAM的联名键盘,说实话,对于键帽配色是真心喜欢,对于Cherry红轴也没什么不满,但是因为当时主要 ...

最新文章

  1. 初识FPGA(一)(初步介绍FPGA)
  2. 在VS2010里可以给JS函数添加代码提示\注释
  3. 从放弃到再入门之拉格朗日对偶问题推导(转)
  4. Android 自定义带图标Toast,工具方法,Toast自定义显示时间
  5. 3、什么是控制反转(IoC),什么是依赖注入
  6. 计算机 旧词新说_如何使旧计算机再次有用
  7. mysql 把主键当外键_MySQL主键和外键使用及说明
  8. Python基础学习2--字符串
  9. dll模块化设计与编程_PLC模块、结构化编程到底强在哪里?
  10. 黑苹果hd3000显存3m_加装黑苹果生产力翻倍,E3 神机规模升级再战五年
  11. 常用运算放大器 - 选型列表(比较全,参数详细)
  12. 什么是GPS,GPS技术主要有哪些特点?
  13. 【Ail规约】慎用 Object 类下的 clone 方法拷贝对象
  14. 伪静态、静态、动态url
  15. 事后审计 vs 事前审批
  16. 输入一个正整数,求该数的阶乘。询问用户是否愿意继续。(使用嵌套循环实现) 【提示】: 1.N 的阶乘公式为:n! = 1 × 2 × … × (n - 1) × n 2.
  17. Django常见面试题总结(二)
  18. CSS改变checkbox的方框及对勾的粗细
  19. DEJA_VU3D - Cesium功能集 之 052-模拟卫星轨道(高空)效果
  20. CREATE INDEX IF NOT EXIST

热门文章

  1. openstack框架搭建云计算平台和各组件运维内容包括mysql、keyston、Glance、Nova、Neutron、Dashboard、Heat、Trove、Ceilometer运维
  2. matplotlib之属性组合包(cycler)
  3. Android开发技术网站推荐
  4. Android Froyo基于32 bit ubuntu 10.10编译问题
  5. 文本PDG文件名构成
  6. 当黑夜自此笼罩-白夜行之感想一二
  7. java 序列化 文件_一种恢复Java序列化文件数据的方法与流程
  8. 比较两组数据的差异用什么图更直观_你真的懂如何展示数据吗?
  9. 分析报告_问题界定篇
  10. 腾讯安全与青藤云安全合作升级,助力客户完成年度大型攻防实战