A71360 | 理发
来源编程题
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
帅帅是一位很爱观察、很爱思考的小学生。他家的正对面有一间理发店,经过观察他发现:理发店共有 N(N \le 255)位师傅给顾客理发,当然一个师傅一次只能为一个顾客服务,为一个人服务完了之后可以马上给另一个人服务。
帅帅对于进出店内顾客情况作为很详细的记录,他用大写字母 A..Z 来表示不同的人,但现在的人们生活节奏很快,时间很宝贵,如果进来的顾客数量不大于理发店师傅的人数则所有的顾客都可以得到服务,但如果进来的顾客人数多于师傅人数,则意味着有些顾客会离开,因为他们不愿意等。你的任务是帮助帅帅计算有多少个顾客因得不到服务而离开?以便帅帅能够给理发店的老板一些建议。
输入格式
两行,第一行为一个数 N。
第二行为一串字符,其中的字母是成对出现的。每一对字母代表同一个客人,当然第一个代表他的到来第二个代表他的离去。字符串的长度不大于 255。
输出格式
一个数,如果每个顾客都能得到服务就输出 0,否则就输出多少个客人因得不到服务而离去。
输入输出样例
输入 #1
2 ABBAJJ
输出 #1
0
输入 #2
3 GACCBDDBAG
输出 #2
1
【样例解释】
对于样例 1,前两位顾客 A、B 依次进来,时此刚好有两位师傅为他们服务,此后 B、A 相继离开,此时两位师傅处理空闲状态,第三位顾客 J 进来,理完发后离开。因此所有的顾客都得到了服务,输出 0。
对于样例 2, 前三位顾客 G、A、C,都能得到服务,因为店里有三位理发师傅,第三位顾客 C 离开后,有一位师傅处于空闲状态,因此第四位顾客 B 也能得到服务,第五位顾客 D 进店后,发现三位师傅正在为顾客 G、A、B 理发,因此 D 会离开,此时 D 得不到服务,然后顾客 B、A、G 相继离开,整个过程结束。因此只有一位顾客 D 得不到服务,输出 1。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?