A. 2026年国庆模拟赛第5场-T1 程老师的借阅登记机

    传统题 文件IO:borrow 1000ms 512MiB

2026年国庆模拟赛第5场-T1 程老师的借阅登记机

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

项目 说明
文件名 borrow
输入文件 borrow.in
输出文件 borrow.out
时间限制 1000 ms
内存限制 512 MB
测试点数目 20(等分)

题目描述

程老师把班里的图书角交给一台登记机管理。老师每借出一本书或收回一本书,都会在登记机上留下一条记录:借书记作 B x,还书记作 R x,其中 xx 是书号。登记机依次处理这些记录,处理规则只有两条:

  • 处理借书记录 B x 时,若书 xx 当前已经处于借出状态(借出后尚未归还),这条记录会被拒绝,不计入成功次数;否则借书成功,书 xx 转为借出状态。
  • 处理还书记录 R x 时,若书 xx 当前不处于借出状态,这条记录会被忽略,不计入成功次数;否则还书成功,书 xx 转回在架状态。

所有记录处理完毕后,老师想知道两件事:一共有多少条记录被成功执行;以及此时仍然借出在外的是哪些书。

输入格式

从文件 borrow.in 中读入数据。

第一行一个正整数 nn,表示记录的条数。

接下来 nn 行,每行一个字符和一个整数,中间用一个空格隔开。字符为 B 或 R,表示这是一次借书或还书操作;整数 xx 表示书号。

输出格式

输出到文件 borrow.out 中。

第一行一个整数,表示被成功执行的记录条数。

第二行输出此时仍处于借出状态的书号,按从小到大的顺序排列,相邻两个书号之间用一个空格隔开。若没有任何书处于借出状态,第二行为空行。

数据范围

对于所有测试数据,保证:1≤n≤1051 \le n \le 10^5,1≤x≤1041 \le x \le 10^4。

测试点 n≤n \le 特殊性质
1~4 1010 无
5~10 10310^3
11~16 10510^5
17~18
19 A
20 B

特殊性质 A:输入中不存在被拒绝或被忽略的记录,每条记录都执行成功。

特殊性质 B:所有记录的书号都不超过 1010。

6
B 1001
R 1001
B 1001
B 1001
R 1002
B 1003
4
1001 1003
3
B 7
B 7
R 8
1
7

样例解释

样例 1:第 1 条 B 1001 执行成功,1001 借出;第 2 条 R 1001 执行成功,1001 归还;第 3 条 B 1001 再次借出成功;第 4 条 B 1001 因 1001 已在借出状态被拒绝;第 5 条 R 1002 因 1002 不在借出状态被忽略;第 6 条 B 1003 执行成功。成功记录共 4 条,最终 1001、1003 借出未还,按升序输出。

样例 2:第 1 条 B 7 成功;第 2 条 B 7 因 7 已借出被拒;第 3 条 R 8 因 8 未借出被忽略。仅 1 条成功,最终借出的是 7。

2026年J组模拟赛10连测第5场

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-10-4 11:30
结束于
2026-10-8 11:30
持续时间
96 小时
主持人
参赛人数
13