这道是模拟题
思路如下
- 先输入 \(n\) 和 字符串
- 遍历字符串,如果没有出现过且\(当前排队人数<n\) ,将其标记,并将当前排队人数 \(+1\),如果\(当前排队人数 ≥n\) ,不标记,同时将答案 \(+1\)
- 如果已经出现过了,将当前人数 \(-1\) 同时将其标位为出现
实现
实现起来很简单,首先定义一个整数 \(n\) 、一个字符串 \(str\) 、一个布尔数组 \(p[200]\),分别用于存储:题目中的 \(n\) 、题目中的字符串、标记字母是否出现过
然后按思路模拟,注意输出的时候 \(ans\) 要 \(÷ 2\) 也可以 \(>>1\) 更快一些(尽管只有几纳秒)
代码如下:
1 |
|
“觉得不错的话,给点打赏吧 (✿◕‿◕✿)”

微信支付

支付宝支付 (暂不支持)
Oiclass P3309 题解
https://lixuannan.github.io/posts/22979.html