[Luogu]P5587 打字练习

news/2023/11/29 7:58:34

[Luogu]P5587 打字练习

题目链接:

https://www.luogu.com.cn/problem/P5587

解题思路:

字符串处理,考虑多种可能情况:

  1. 范文和输入均可能存在退格没见过范文还带退格的艹

  2. 计算KPM的时候分母可能为0

  3. 输入的行数可能比范文的短或长。

输入输出样例

Input1:

hello world.
aaabbbb
x
EOF
heelo world.
aaacbbbb
y<x
EOF
60

Output1:

18

Input2:

<<qwe
EOF
<<qwe
EOF
60

Output2:

3

Input3:

<qwe
EOF
qw<e
EOF
60

Output3:

1

代码

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<queue>
#include<cmath>
#include<set>
#define INF 0x3f3f3f3f typedef long long ll;
using namespace std;int count(string a,string b){int ans=0;int length;vector<char> c;vector<char> d;length=a.length();for(int i=0;i<length;i++){if(a[i]=='<' && !c.empty())  c.pop_back();else{if(a[i]!='<')c.push_back(a[i]);}}length=b.length();for(int i=0;i<length;i++){if(b[i]=='<' && !d.empty())  d.pop_back();else{if(b[i]!='<')d.push_back(b[i]);}}length = min(c.size(),d.size());for(int i=0;i<length;++i)ans+= (c[i]==d[i]);return ans;
}
int main() {int n=0;int i=0;int time = 0;double ans=0.0;string str;string a[100005];while(1){getline(cin,str);if(str!="EOF")  a[n++]=str;else      break;}while(1){getline(cin,str);if(str!="EOF"){if(i<n)  ans+=count(a[i++],str);else     continue;}elsebreak;}cin >> time;cout << (int)((ans*60/time)+0.5);
}

http://www.ppmy.cn/news/336717.html

相关文章

刷算法第八天——P1012 拼数+P5587 打字练习

P1012 拼数 // import java.util.Arrays; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int t scanner.nextInt();String[] arr new String[t];for (int i 0; i < t; i) {arr[i] sca…

P5587 打字练习

思路&#xff1a;我对字符串掌握的并不好&#xff0c;所以这篇文章是借鉴另一位博主写的&#xff0c;在这里先感谢洛谷用户AC_duckling 然后&#xff0c;这道题难点是如何读入以及各种特殊情况的解决&#xff0c;不过相信看完代码大家不难理解。博主的快读函数也很用心&#xf…

lm8333 ADP5587添加键盘背光代码

lm8333 & ADP5587添加键盘背光代码 https://blog.csdn.net/yqj1123/article/details/38821087?ops_request_misc%257B%2522request%255Fid%2522%253A%2522164281697016780366535760%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id164281…

hdu 5587 规律

题意&#xff1a;开始序列{1}; 一次变换{1&#xff0c;1&#xff0c;2}&#xff1b; 两次变换{1&#xff0c;1&#xff0c;2&#xff0c;1&#xff0c;2&#xff0c;2&#xff0c;3} 。。。 求s[n];题解&#xff1a;打表 S1&#xff0c;S2&#xff0c;S4&#xff0c;S8&#xf…

HDU 5587(Array-BigInteger)

一开始有一个数列{1}。每过一天&#xff0c;将他当天的数列复制一遍&#xff0c;放在数列尾&#xff0c;并在两个数列间用0隔开。将当天新产生的所有数字&#xff08;包括0&#xff09;全加1。这个数列的前M项和是多少&#xff1f; 推公式 注意BigInteger类的写法 import ja…

HDU 5587 Array (规律)

题意: 话说中文题目里有hint看hint就懂了 第一项永远为数字1&#xff0c;因此样例1输出1 第二天先复制一次&#xff0c;用0隔开&#xff0c;得到1,0,1&#xff0c;再把产生的数字加1&#xff0c;得到1,1,2&#xff0c;因此样例2输出前3项和1124. 第三天先得到1,1,2,0,1,1,2&…

hdu 5587 Array(高效)

题目链接&#xff1a;hdu 5587 Array 代码 #include <cstdio> #include <cstring> #include <algorithm>using namespace std; const int maxn 55; typedef unsigned long long ll;ll N, cnt[maxn5], sum[maxn5];ll solve (ll n) {int t maxn;ll ret 0,…

HDU 5587:Array

Array Accepts: 118 Submissions: 232 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) 问题描述 Vicky是个热爱数学的魔法师&#xff0c;拥有复制创造的能力。 一开始他拥有一个数列{1}。每过一天&#xff0c;他将他当天的数列复制一遍…

HDU 5587 Array 规律+递归

HDU 5587 题意:初始序列a为{1},操作:在序列a末尾添加一个0之后,复制一遍0前面的数 然后将0之后的数1(包括0). 现在对序列a重复操作100次.Q次询问 每次询问一个m 求出序列a前m个数之和, Q<2e3,m<1e16. 初始长度为1 每次操作后序列长度*21 len[i]2^i(i1) -1 容易知道第i次操…

hdu 5587 Array

题目链接&#xff1a;hdu 5587 前两周 bc 上的题了&#xff0c;因为赶大作业所以没有去打&#xff0c;看了下官方给出的思路&#xff0c;感觉好强大~~竟然能转化成求二进制数 1 的个数&#xff1a; 然后数位 dp 就行了&#xff0c; 1 #include<cstdio>2 #include<cstr…

E3

https://portal.office.com/SubscriptionDetails?OfferIdC18B235E-8366-48b8-AE41-6E596C44944D&adminportal1

E3-1230V3和E3 1231V3有什么区别

E3-1230V3跟1231V3区别为&#xff1a;CPU主频不同、超频不同、支持技术不同。 一、CPU主频不同 选E3-1230V3还是E3 1231V3这些点很重要 看过你就懂了 https://list.jd.com/list.html? 1、E3-1230V3&#xff1a;E3-1230V3的CPU主频为3300MH。 2、E3-1231V3&#xff1a;E3-1231…

芯驰(E3-gateway)开发板环境搭建以及调试遇到问题的解决

1-Windows下环境配置 可以在Windows上使用命令行或者IAR IDE编译SSDK项目。Windows编译依赖的工具已经包含在 prebuilts/windows 目录中&#xff0c;包括编译器、Python和命令行工具。 1.1.1 CMD SSDK集成 msys 工具&#xff0c;可以在Windows命令行中完成SDK的配置、编译和…

E3商城的介绍

一.E3商城介绍&#xff1a; 宜立方网上商城是一个综合性的B2C平台&#xff0c;类似京东商城、天猫商城。会员可以在商城浏览商品、下订单&#xff0c;以及参加各种活动。 管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。 客服可以在后台管理系统中处理用户的询…

英特尔至强E3、E5、E7处理器有什么区别呢?

原文地址&#xff1a;http://www.dellzmd.com/a/news/knowledge/2014/0522/569.html 首先&#xff0c;Intel E3&#xff0c;E5&#xff0c;E7代表了3个不同档次的至强CPU&#xff0c;至强“E系列”的这种命名方式有些类似桌面上的Core i3&#xff0c;i5&#xff0c;i7&#xff…

电磁炉指示灯标示

我在别处看到这方面的电磁炉出现字母的代表的意思 整理了一下&#xff0c;你对比看一下吧啊&#xff0c;我就不一个一个说了 E0--------无锅 E1--------NTC开路 E2--------NTC短路 E3--------IGBTNTC开路 E4--------IGBTNTC短路 E7--------风扇短路保护 E8--------CT开路

半球电磁炉EO/E2/E3/E4/E5故障问题

EO 锅具检测 E2 炉面温度传感器故障 E3 高电压保护 E4 低电压保护 E5 炉面超温保护

Jetson TX2 显存

JX2 32G固态硬盘存储&#xff0c;8G内存&#xff0c;其中&#xff0c;因为Jetson 系列的SOC&#xff0c;CPU和GPU共享主存, 可以说是JX2显存和内存共享8G主存

LN2220 2A过流5V1A高效率升压IC芯片 DC/DC 电压调整器

2A 高效率升压 DC/DC 电压调整器 ■ 产品概述 LN2220 是一款微小型、高效率、升压型 DC/DC 调整器。 电路由电流模 PWM 控制环路&#xff0c;误差放大器&#xff0c;斜坡补偿电路&#xff0c; 比较器和功率开关等模块组成。该芯片可在较宽负载范围内 高效稳定的工作&#xff0c…

Jetson TX2的计算能力

TX2的GPU算力 GPU的浮点计算理论峰值能力公式如下&#xff1a; 理 论 峰 值 &#xff1d; G P U 芯 片 数 量 &#xff0a; G P U B o o s t 主 频 &#xff0a; 核 心 数 量 &#xff0a; 单 个 时 钟 周 期 内 能 处 理 的 浮 点 计 算 次 数 理论峰值 &#xff1d; GPU芯片…
最新文章