T364891 小粉兔 Failed System Test
题目背景
**请注意本题得分不随时间变化而变化。**
**请注意本题得分不随时间变化而变化。**
**请注意本题得分不随时间变化而变化。**
小粉兔在某场 CF 中 -154,警示大家不能 FST。
这是一道 **hack 题**。在本题目中,你将得到两个问题和两个解决对应问题的代码,但是给出的代码不能对于某些输入给出正确的输出。不能给出正确的输出的情况包括:
1. 输出错误的结果。
2. 运行超时。
3. 产生一些运行时未定义行为。目前技术可检测的未定义行为仅包括数组越界。
对于这两个问题,你需要分别提交一份符合要求的输入数据,使得给定的代码不能给出正确的输出。你可以直接使用『提交答案』功能,也可以提交一份以任何语言写成的数据生成器。
---
**提示:如果你使用提交答案功能,请在提交其他题目时记得将语言改回你所使用的语言。**
题目描述
以下给出两个问题的题目描述:
#### 问题 1
给定 $n$ 个元素,标号为 $1, 2, \cdots, n$,你需要标记其中 $k$ 个元素。如果两个元素标号相差 $1$ 则称二者相邻。
请计算出「自身未被标记且有至少一个相邻元素被标记」的元素的**可能的最小数量**和**可能的最大数量**。
#### 问题 2
给定一个仅包含小写字母 `a`、`b`、`c` 的字符串,判断这个字符串是否符合以下所有特征:
1. 字符串中至少有一个 `a` 字母和一个 `b` 字母,且所有的 `a` 在 `b` 之前。
2. 如果字符串中有 `c`,所有的 `a` 在 `b`、`c` 之前,所有的 `b` 在 `c` 之前。
3. `c` 的数量等于 `a` 的数量或 `b` 的数量。
输入格式
#### 问题 1
输入共一行两个整数 $n, k$。
#### 问题 2
输入共一行一个字符串 $S$。
输出格式
#### 问题 1
输出共一行两个整数,依次代表可能的最小数量和可能的最大数量。
#### 问题 2
输出共一行一个字符串。如果 $S$ 符合要求,则输出 `YES`,否则输出 `NO`。
说明/提示
### 样例组与实际输入的说明
两个样例分别对应两个问题的样例输入输出。
如果你直接采用『提交答案』的方式,请分别将两个输入数据命名为 `1.in`、`2.in`,并打成 zip 压缩包进行提交;
如果你采用提交数据生成器的方式,你的生成器可以从标准输入读入一个整数 $x$,满足 $1 \leq x \leq 2$,表示该测试点对应的问题编号,然后**输出对应的输入数据**。
显然,你的程序不应该读入『输入格式』里提到的任何内容(而应该构造它们),也不应该输出『样例输出』里提到的任何内容(而是只输出你构造的输入数据)。你不应该使用样例测试你的程序,这只是对两个问题的样例说明。
### 数据规模要求
你给出的数据必须满足如下要求:
1. 完全符合『输入格式』的规定,不能有多余的输入,但是可以有文末回车。
2. 对于问题 $1$,$1 \leq n \leq 10 ^ 9$,$0 \leq k \leq n$。
3. 对于问题 $2$,$1 \leq \left | S \right | \leq 5000$($\left | S \right |$ 代表字符串 $S$ 的长度),$S$ 中仅包含小写字母 `a, b, c`。
### 目标代码
你需要 hack 如下的代码:
#### 问题 1
```cpp
#include
using namespace std;
int main() {
int n, k;
cin >> n >> k;
if (k == n || k == 0) {
cout