题目 20420

有礼貌的队列

查看题解 ↗GitHub ↗如何评测
题号
20420
时间限制
1000 ms
内存限制
256 MB
标签
比赛CSP-S
来源
CSP-S 国外模拟赛 35 - T2

第 2 题 有礼貌的队列 (politequeue)

时间限制 1.0 s · 空间限制 256 MB · 71 个测试点 · 全文比较(过滤行末空格及文末回车)

本题使用文件输入输出:输入文件 politequeue.in,输出文件 politequeue.out。

题目描述

Bajtech 是一家非常先进的 Bajtocja 科技公司。他们最近生产了一款革命性的新智能手机(据广告说,每个体面的人都必须拥有)。人们蜂拥而来购买新设备,因此销售店门口早早排起了长队。

Bajtek 不太相信广告,从远处观察其中一家销售店的情况。他注意到排队的人行为非常有礼貌且可预测。

通向销售店的通道由 NN 块瓷砖铺成。每块瓷砖上最多站一个人。每一秒,每个排队的人都检查自己能否向前移动。如果他前面的瓷砖是空的,他就走到上面;如果他站在最后一块瓷砖上,他就进入销售店;如果前面的瓷砖有人,他就留在原地。

销售店刚刚开门。现在所有排队的人全部进入商店需要多长时间?

输入格式

  • 第一行一个自然数 NN(1≤N≤200 0001 \le N \le 200\,000),表示销售店前的瓷砖数。
  • 第二行 NN 个字符,描述开门时各瓷砖的状态。第一个字符描述队尾,最后一个字符描述队首。字符 X 表示瓷砖上有人,. (点)表示瓷砖是空的。

可以保证至少有一位顾客在排队,即输入中至少有一个 X。

输出格式

第一行(也是唯一一行)输出一个自然数,表示所有顾客进入商店所需的秒数。

样例

样例 1

输入:

文本
5
X.XX.

输出:

文本
6

样例 2

输入:

文本
6
..X...

输出:

文本
4

样例 3

输入:

文本
13
X.XX.XXX.XXXX

输出:

文本
19

数据范围与子任务

附加限制 分数
队列中只有一个顾客 14
队列中恰好有两个顾客 13
第一个顾客与最后一个顾客之间的所有瓷砖都有人 43
所有瓷砖上都有人 19
N≤1000N \le 1000 44

其余样例测试:

  • kul0d:N=1000N = 1000,人们站在每隔一块的瓷砖上;
  • kul0e:N=200 000N = 200\,000,每块瓷砖上都站着一个人。

数据下载

题目 20420 的公开数据

正在读取文件列表…

常用命令

题目 20420 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。