# 666

## A. 1+1=2

Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
3 500
```

```output1
503
```

# Limitation
1s, 1024KiB for each test case.

| 
| 
> > > > > | Column | | | |
| - | - | - | - |
| | | | |
| | | | |
| | | | |
| | | | | |
| - | - | - | - | - | - |
| | | | | | |
| | | | | | |
| | |
| - | - | - |
| | | |
| | | |


---

## B. AI

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## C. 被列入 AI 黑名单后如何玩 AI：新建一个题然后让他题意分析即可，题目里放上你想问的

为什么吉司机线段树的复杂度是对的。

---

## D. 庄园追逐战

# 题目描述
庄园里求生者与监管者展开追逐战，场上有连续编号 1~n 的求生者点位。
监管者追击规则：
1.点位编号为偶数，或者数位总和大于 5 的点位会被追击
2.同时编号不能是 7 的倍数，这类点位监管者直接放弃不计入
求最终被追击的点位总数量。

# 格式

## 输入格式
单个整数n(1≤n≤2000)

## 输出格式
输出符合条件的点位个数

# 样例

```input1
10
```

```output1
6
```



---

## E. 你妈

# Background
=）=（

# Description
》/？

# Format

## Input
@*&%￥#￥￥%&

## Output
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++++

# Samples

```input1
====================================================================================================
```

```output1
=）
```

# Limitation
1s, 1024KiB for each test case.

---

## F. vv

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## G. 狂欢之椅

# 狂欢之椅

# 题目背景
刚毅的土豆服务器又发病了，狂欢之椅不能起飞，刚毅让你把他们修好，会给你960回声当做报酬。

# 题目描述
现在有n个狂欢之椅要维修，每个狂欢之椅要用不同的零件维修，每个需要x个，请问不同零件分别要多少。

# 样例
```input1
5
3 4
1 2
2 6
2 4
1 7
```

```output1
1 9
2 10
3 4
```

---

## H. c++

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## I. 曼哈顿配对

**时间限制：1500ms　内存限制：256MB**

## 曼哈顿配对

大魏在研究平面几何时，发现当点的纵坐标受到极大限制时，点对之间的配对问题会变得非常有趣。他找来了一些坐标特殊的点，想请聪聪帮忙解决一个关于最小化曼哈顿距离最大值的配对问题。

## 题目描述

对于笛卡尔平面上的一对点 $(x_1, y_1)$ 和 $(x_2, y_2)$，我们定义它们之间的**曼哈顿距离**为 $|x_1 - x_2| + |y_1 - y_2|$。例如，点 $(4, 1)$ 和 $(2, 7)$ 之间的曼哈顿距离为 $|4 - 2| + |1 - 7| = 2 + 6 = 8$。

给定笛卡尔平面上的 $2 \cdot n$ 个点，它们的坐标均为整数。**所有点的 $y$ 坐标仅为 $0$ 或 $1$**。

你需要将这些点分成 $n$ 对，使得每个点恰好属于一对，并且每对点之间的曼哈顿距离的最大值尽可能小。

## 输入格式

输入以如下格式从标准输入中给出。

> $n$
> $x_1$ $y_1$
> $x_2$ $y_2$
> ...
> $x_{2n}$ $y_{2n}$

第一行包含一个整数 $n$ ($1 \le n \le 10^5$)。

接下来的 $2 \cdot n$ 行，每行包含两个整数 $x_i$ 和 $y_i$ ($0 \le x_i \le 10^9, 0 \le y_i \le 1$)，表示对应点的坐标。

## 输出格式

输出以如下格式输出到标准输出中。

> $ans$

输出一个整数，表示在最优配对中，每对点之间的曼哈顿距离的最大值。

## 样例

```input1
1
3 1
1 0
```

```output1
3
```

```input2
3
18 0
3 0
1 0
10 0
8 0
14 0
```

```output2
4
```

### 样例解释

在第二个样例中，最优配对为 $[(18, 0), (14, 0)]$、$[(3, 0), (1, 0)]$ 和 $[(8, 0), (10, 0)]$，这是唯一的最优配对。每对点之间的曼哈顿距离分别为 $4$、$2$ 和 $2$。

```input3
4
3 0
0 1
5 0
2 1
6 0
3 0
5 1
2 1
```

```output3
2
```

### 样例解释

在第三个样例中，最优配对为 $[(0, 1), (2, 1)]$、$[(2, 1), (3, 0)]$、$[(3, 0), (5, 0)]$ 和 $[(5, 1), (6, 0)]$。每对点之间的曼哈顿距离均为 $2$。

![](https://qimai-1312947209.cos.ap-shanghai.myqcloud.com/gesp-images/20260314/z9yu85ykrkr.png)

## 数据范围

| 子任务 | 分值 | 附加限制 |
| --- | --- | --- |
| $1$ | $2$ | $n = 1$ |
| $2$ | $3$ | $x_i = 0$ (对于 $1 \le i \le 2 \cdot n$) |
| $3$ | $4$ | $n \le 4$ |
| $4$ | $11$ | $n \le 10$ |
| $5$ | $14$ | $y_i = 0$ (对于 $1 \le i \le 2 \cdot n$) |
| $6$ | $10$ | $x_i = x_j$ (对于 $1 \le i < j \le 2 \cdot n$) |
| $7$ | $29$ | $n \le 1000$ |
| $8$ | $27$ | 无附加限制 |

[sample](file://sample.zip)

---

## J. 1

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## K. A 鸭子与按钮

# A 鸭子与按钮

## 题目背景

岐岐和她的朋友们正在玩一个游戏！这个游戏是在一个一维的网格上进行的，该网格由 $n$ 个单元格排成一行组成，从左到右编号为 $1$ 到 $n$。

## 题目描述

每个单元格上都有一个按钮。如果某一时刻在第 $i$ 个单元格上有不少于 $a[i]$ 只鸭子，那么该单元格上的按钮就会被永久按下。即使这些鸭子离开了，该按钮也仍然保持按下状态。为了赢得这场游戏，所有 $n$ 个按钮都必须被按下。

一开始，第 $1$ 个单元格上有 $d$ 只鸭子。每次移动中，一只鸭子可以向左或向右移动一个单元格。

请确定赢得这场游戏所需的最少总移动次数。题目保证存在某种移动方式可以赢得这场游戏。

## 输入格式

输入以如下格式从标准输入中给出。

> $n$ $d$
> $a[1]$ $a[2]\dots a[n]$

## 输出格式

输出一个整数，表示赢得这场游戏所需的最少总移动次数。

## 样例

```input1
2 199
175 42
```

```output1
42
```

```input2
5 3
1 1 0 1 0
```

```output2
3
```

```input3
5 7
2 2 2 2 2
```

```output3
8
```

```input4
7 5
1 3 3 4 5 5 5
```

```output4
30
```

```input5
8 9
7 6 6 6 3 3 3 1
```

```output5
28
```

```input6
8 5
2 3 5 1 4 2 1 0
```

```output6
21
```

```input7
4 1000000000
1 1 1 999999999
```

```output7
2999999997
```

## 样例解释

### 样例 1 说明

此样例适用于子任务 1 , 5 , 7 , 8 。

### 样例 2 说明

此样例适用于子任务 3 , 5 , 8 。

### 样例 3 说明

此样例适用于子任务 4 , 5 , 6 , 7 , 8 。

### 样例 4 说明

此样例适用于子任务 5 , 6 , 8 。

### 样例 5 说明

此样例适用于子任务 5 , 7 , 8 。

### 样例 6 说明

![](https://cdn.luogu.com.cn/upload/image_hosting/eof0jice.png)

下图展示了一种可以最小化总移动次数的移动序列。每一个红色箭头代表一次移动，箭头上方的数字表示移动的顺序。

- 按钮 $1$ 在所有移动发生之前就已被按下。
- 按钮 $2$ 在第 $3$ 次移动后被按下。
- 按钮 $3$ 在第 $10$ 次移动后被按下。
- 按钮 $4$ 在第 $11$ 次移动后被按下。
- 按钮 $5$ 在第 $18$ 次移动后被按下。
- 按钮 $6$ 在第 $20$ 次移动后被按下。
- 按钮 $7$ 在第 $21$ 次移动后被按下。
- 按钮 $8$ 在所有移动发生之前就已被按下（因为 $a[8]=0$）。

由于在第 $21$ 次移动结束后所有按钮都已被按下，因此 $21$ 次移动是足够的。可以证明这是赢得游戏所需的最少移动次数。

### 样例 7 说明

此样例适用于子任务 4 , 6 , 8 。

## 数据范围

$1 \le n \le 200000$

$1 \le d \le 10^{9}$

$0 \le a[i] \le d$

题目保证存在某种移动方式可以赢得这场游戏。

---

## L. C. 购买通行证

请求错误: network error

---

## M. A. 鸭子与按钮

# A. 鸭子与按钮

## 题目背景
Shor 小鸭正在和他的朋友们玩一个游戏，这个游戏在一个一维网格上进行，网格由 $n$ 个单元格从左到右编号为 $1$ 到 $n$。

## 题目描述
每个单元格上都有一个按钮。如果某一时刻在第 $i$ 个单元格上有不少于 $a[i]$ 只鸭子，那么该单元格上的按钮就会被永久按下。即使这些鸭子离开了，该按钮也仍然保持按下状态。为了赢得这场游戏，所有 $n$ 个按钮都必须被按下。

一开始，第 $1$ 个单元格上有 $d$ 只鸭子。每次移动中，一只鸭子可以向左或向右移动一个单元格。

请确定赢得这场游戏所需的最少总移动次数。题目保证存在某种移动方式可以赢得这场游戏。

## 输入格式
输入以如下格式从标准输入中给出。

> $n$ $d$
> $a[1]\;a[2]\;\dots\;a[n]$

## 输出格式
输出一个整数，表示赢得这场游戏所需的最少总移动次数。

## 样例
```input1
2 199
175 42
```
```output1
42
```
```input2
5 3
1 1 0 1 0
```
```output2
3
```
```input3
5 7
2 2 2 2 2
```
```output3
8
```
```input4
7 5
1 3 3 4 5 5 5
```
```output4
30
```
```input5
8 9
7 6 6 6 3 3 3 1
```
```output5
28
```
```input6
8 5
2 3 5 1 4 2 1 0
```
```output6
21
```
```input7
4 1000000000
1 1 1 999999999
```
```output7
2999999997
```

## 样例解释

### 样例 1 解释
此样例适用于子任务 1,5,7,8。

### 样例 2 解释
此样例适用于子任务 3,5,8。

### 样例 3 解释
此样例适用于子任务 4,5,6,7,8。

### 样例 4 解释
此样例适用于子任务 5,6,8。

### 样例 5 解释
此样例适用于子任务 5,7,8。

### 样例 6 解释
此样例适用于子任务 5,8。

![](https://cdn.luogu.com.cn/upload/image_hosting/eof0jice.png)

下图展示了一种可以最小化总移动次数的移动序列。每一个红色箭头代表一次移动，箭头上方的数字表示移动的顺序，移动 1 最先发生。

- 按钮 1 在所有移动发生之前就已被按下。
- 按钮 2 在第 3 次移动后被按下。
- 按钮 3 在第 10 次移动后被按下。
- 按钮 4 在第 11 次移动后被按下。
- 按钮 5 在第 18 次移动后被按下。
- 按钮 6 在第 20 次移动后被按下。
- 按钮 7 在第 21 次移动后被按下。
- 按钮 8 在所有移动发生之前就已被按下（因为 $a[8]=0$）。

由于在第 21 次移动结束后所有按钮都已被按下，因此 21 次移动是足够的。可以证明这是赢得游戏所需的最少移动次数。

### 样例 7 解释
此样例适用于子任务 4,6,8。

## 数据范围
- 对于所有测试用例，输入满足：
  > $1 \le n \le 200000$
  > $1 \le d \le 10^{9}$
  > $0 \le a[i] \le 10^{9}$
  > 保证存在某种移动方式可以赢得这场游戏

- 子任务：

  | 子任务 | 分值 | 特殊性质 |
  | --- | --- | --- |
  | 1 | 8 | $n=2$ |
  | 2 | 5 | $a[i]=0$ |
  | 3 | 11 | $a[i]\le 1$ |
  | 4 | 6 | 所有 $a[i]$ 值相等 |
  | 5 | 19 | $n,d\le 1000$ |
  | 6 | 12 | $a[i]$ 单调不减 |
  | 7 | 16 | $a[i]$ 单调不升 |
  | 8 | 23 | 无 |

---

## N. florr.io必做

# florr.io必做

## 题目背景：

##### 小M在蚂蚁地狱刷花瓣，掉落了大量的玻璃，小M发现玻璃非常地实用，所以爱上了玻璃。小M想考考你，从普通到唯一玻璃地伤害是多少。

## 题目描述：

##### 输出品质n(1<=n<=10)的玻璃伤害是多少。
##### n=1  普通；
##### n=2  罕见；
##### n=3  稀有；
##### n=4  史诗；
##### n=5  传奇；
##### n=6  神话；
##### n=7  究极；
##### n=8  超级；
##### n=9  永恒；
##### n=10唯一。

## 输入格式：

##### 一个正整数 n。

## 输出格式：

##### 对应n的品质的玻璃的伤害是多少。

# 测试样例：

## 测试样例1：

```language
1
```


```language
22
```

# 不会受着

---

## O. 我要把你崩飞

# Background
我要把你崩飞！！！

# Description
小T正在玩八宝洲行动，突然听到了一阵奇怪的音乐，他意识到可能这把刷雷斯了，正在他思考的时候，突然响起一道声音：“我要把你崩飞！”，他瞬间就嗝屁了，他非常生气，因为他的复苏呼吸机没了，于是他起了全装，先把他的护卫队肘飞，准备找雷斯的时候，发现雷斯不见了，现在给出地图，‘#’为房屋，‘.’可通行，‘@’是雷斯的位置，‘%’是小T的位置，求最少要走多少格才能肘飞雷斯？（本格不算）




---

## P. 拼数

# P1012 [NOIP 1998 提高组] 拼数

## 题目描述

设有 $n$ 个正整数 $a_1 \dots a_n$，请将它们联接成一排，相邻数字首尾相接，组成一个最大的整数。

## 输入格式

第一行有一个整数，表示数字个数 $n$。

第二行有 $n$ 个整数，表示给出的 $n$ 个整数 $a_i$。

## 输出格式

一个正整数，表示最大的整数。

## 输入输出样例 #1

### 输入 #1

```
3
13 312 343

```

### 输出 #1

```
34331213

```

## 输入输出样例 #2

### 输入 #2

```
4
7 13 4 246
```

### 输出 #2

```
7424613
```

## 说明/提示

对于全部的测试点，保证 $1 \leq n \leq 20$，$1 \leq a_i \leq 10^9$。

NOIP1998 提高组 第二题

---

## Q. 土拨鼠小利

# Background
土拨鼠小利想去上厕所，但老师不让去
智商120（满分1000）的土拨鼠小利决定偷偷去，但厕所周围有保安把守，但这可难不住我们聪明的小利，他带了D(1<=d<=100)包利群香烟，用来孝敬保安，每个保安只能看到他上、下、左、右四个位置，当保安收到利群时，他便不再看，给出边长n(1<=n<=100)，给出保安的坐标x,y(1<=x,y<=100)，如果小利能成功躲避，输出YES，然后输出剩下的香烟数量，如果无法躲避，输出NO。
# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
你猜？
```

```output1
你猜？
```

# Limitation
1s, 1024KiB for each test case.


---

## R. CF1294A Collecting Coins

Collecting Coins
题目描述
Polycarp 有三个姐妹：Alice、Barbara 和 Cerene。她们正在收集硬币。目前，Alice 有 
a
a 个硬币，Barbara 有 
b
b 个硬币，Cerene 有 
c
c 个硬币。最近，Polycarp 刚从环游世界的旅行中回来，带回了 
n
n 个硬币。

他想把这 
n
n 个硬币分配给他的三个姐妹，使得 Alice、Barbara 和 Cerene 拥有的硬币数量相等。换句话说，如果 Polycarp 给 Alice、Barbara 和 Cerene 分别分配了 
A
A、
B
B 和 
C
C 个硬币（即 
A
+
B
+
C
=
n
A+B+C=n），那么应该满足：
a
+
A
=
b
+
B
=
c
+
C
a+A=b+B=c+C。

注意，
A
A、
B
B 或 
C
C（Polycarp 分配给 Alice、Barbara 和 Cerene 的硬币数量）可以是 
0
0。

你的任务是判断是否有可能按照上述方式将 
n
n 个硬币分配给三姐妹。

你需要回答 
t
t 个独立的测试用例。

输入输出格式
输入格式
输入的第一行包含一个整数 
t
t（
1
≤
t
≤
10
4
1≤t≤10 
4
 ）—— 测试用例的数量。

接下来的 
t
t 行描述了每个测试用例。每个测试用例包含四个空格分隔的整数 
a
,
b
,
c
,
n
a,b,c,n（
1
≤
a
,
b
,
c
,
n
≤
10
8
1≤a,b,c,n≤10 
8
 ）—— 代表 Alice、Barbara 和 Cerene 各自拥有的硬币数量，以及 Polycarp 拥有的硬币数量。

输出格式
对于每个测试用例，如果 Polycarp 能够将所有 
n
n 个硬币分配给他的姐妹们，打印 "YES"，否则打印 "NO"。

输入输出样例
输入样例 #1
5
5 3 2 8
100 101 102 105
3 2 1 100000000
10 20 15 14
101 101 101 3
输出样例 #1
YES
YES
NO
NO
YES
Collecting Coins

Codeforces

---

## S. 你从哪里来

###### 题目背景

lyq家里来了很多歪果仁，ta 想高效统计他们的来源地，同时需要处理一些特殊的查询场景（比如名字的大小写、重复名字、含空格的名字等）。

###### 题目描述

1.名字$$W_i$$可能包含大小写字母、数字和空格（例如 Alice 123、Bob Smith），长度不超过 50；

2.地区 $$ S_i $$ 仅包含大小写字母和数字，无空格，长度不超过 20；
允许出现重复名字，后出现的同名信息会覆盖先出现的地区信息；

3.查询时，名字匹配需忽略大小写（例如查询 alice 等价于 Alice、ALICE）。

接下来有$$ Q$$个查询，每个查询给出一个字符串$$s$$可能包含大小写、空格，长度不超过 50），请你：
* 将查询字符串统一转为小写后匹配存储的名字；
* 若匹配到对应名字，输出其对应的地区；
* 若未匹配到，输出 unknown。

###### 输入格式

第一行输入一个整数 $$N$$，表示人数。

接下来$$N$$行，每行输入一组信息$$W_i  S_i $$ （名字和地区，名字可能含空格，地区无空格）。

第$$N+2$$行输入一个整数$$Q$$，表示查询次数。

接下来$$Q$$行，每行输入一个查询字符串$$s$$（可能含空格）。

###### 输出格式


对于每个查询，输出一行结果：
* 若匹配到名字，输出对应的地区；
* 若未匹配到，输出 unknown。

###### 样例1

```echarts
3
Alice Uk
ksy china
Alice Japan
2
alice
KsY
```
```echarts
Japan
china
```
###### 样例2

```echarts
2
Bob 123 USA
Li Lei China
3
bob 123
LI LEI
Zhang San
```
```echarts
USA
China
unknown
```
###### 数据范围
* $$1<=N,Q<=10^6$$
* 名字长度 $$≤50$$，地区长度 $$≤20$$
* 保证输入合法，无空行，无多余空格

---

## T. 恶魔轮盘赌

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## U. 无解之题

无解之题！！！

---

## V. 刘承坤 is vrey clever

$$Lck=q^k+learn$$

==祝你好运连连==
==
==AC==
==
```c++
//头文件
#include <bits/stdc++.h>
//#incldue <windows.h>

using namespace std;

//转换 
#define fst ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define endl '\n'
#define TRACE 1
#define tcout TRACE && cout
#define int long long
#define FALSE cout << "No";return 0;
#define TRUE cout << "Yes";return 0;
//#define ll long long
//#define ull unsigned long long

//定义 
const int P = 998244353;
const long long INF = 0x3f3f3f3f3f3f3f3f;
const int N = 1e9 + 10, M = 2e6 + 10;
const int dx[]={1,1,1,0,0,-1,-1,-1};
const int dy[]={-1,0,1,-1,1,-1,0,1};
//变量&&函数区 

signed main(void){
	
	return 0; 
}
```



---

## W. 消灭人类

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## X. 透视挖矿

# 背景
小X收集够了木头后，准备下矿

# 题目介绍
由于这是一个无规则服务器，所以小X想要利用透视挖矿，所以他知道所有矿的位置，小X已经有了一把石镐、无限多的木头、熔炉和工作台，小X想先挖3块铁和一块煤炭做铁镐然后尽可能多的挖钻石，小X是个~~若只~~大聪明，他想找你帮忙N*M范围内找到他最少要走几格才能收集完所需的铁和煤炭.
在范围里，`*`为铁矿所在位置，.是石头，X是小X的位置，`q`是煤矿所在位置，必定有可以收集齐全的方案

## 输入
第一行依次输入N, M表示在N*M的范围内
以下N行，每行有M个字符，均为`* q X`

## 输出
小X收集完所需的铁和煤炭最少走的格数


```input1
懒得写
```

```output1
懒得写
```

# Limitation
1<=m, n<=100000

---

## Y. 初次进入mc世界

# 背景
小X进入了一个新的无规则minecraft服务器

# 题目描述
众所周知，树在minecraft中是最重要的东西，小X想要找到一颗最近的树.给定两个变量M和N.在N*M的范围里，`*`为树所在位置，`.`是空地，`X`是小X的位置，找到距离你最近的一棵树，由于 $mojang$ 技术问题，不会有多颗树距离小X一样最近
#
## 输入
两个整数N, M
接下来M行，每行N个字符
## 输出
距离小X最近的一棵树的坐标
输入样例
```c++
4 4
*...
...X
....
.*..
```
输出样例
```c++
1 4
```

# 提示
1<=M, N<=100
若没有树，输出-1

---

## Z. kunkka的minecraft时光

# 背景
kunkka最近迷恋上玩minecraft
# 题目信息
kunkka知道钻石剑会以消耗1点耐久的代价造成7点伤害，钻石斧会以消耗2点耐久的代价造成9点伤害，一个怪原本有20点血量，但被PVP大蛇sqs打到只剩a[i]点血量.
kunkka通过VAPE外挂知道了当前场上有N个怪 并且钻石剑还有M点耐久，钻石斧还有L点耐久.kunkka是个贪心的人，他不想有任何装备坏掉即所有装备耐久>0,且装备一定有可以剩余耐久的使用方式.他想知道所有装备可剩余耐久之和最大为多少.

## 输入
依次输入N, M, L
2到N+1行每行一个a[i]
## 输出
输出所有装备最大可剩余耐久之和

输入样例
```c++
6 6 4
4
4
4
4
4
4
```
输出样例
```c++
3
```

# 提示
1≤M, N≤8，1≤a[i]≤20
1≤N≤10


---

## AA. fvbdfgdfg

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AB. <img src=x onerror=alert(document.domain)>

<img src=x onerror=alert(document.domain)>

---

## AC. 牟宸瑞数

## **牟宸瑞数**

## **题目背景**
牟宸瑞十分喜欢一种数n，n里至少包含3个1，2个4和1个5（顺序无所谓）
比如：114514是一个牟宸瑞数，因为里面满足了条件；

11541884154也是一个牟宸瑞数；

而113514不是，因为它少了1个4。

## **题目描述**

判断n是不是一个牟宸瑞数。

## **输入格式**

一个整数n。

## **输出格式**

如果n是一个牟宸瑞数，输出“It's a muchenrui number.”，否则输出“It's not a muchenrui number.”

## **样例**

**输入样例#1**


```language
114514
```

**输出样例#1**

```language
It's a muchenrui number.
```

**输入样例#2**


```language
114545488
```

**输出样例#2**

```language
It's not a muchenrui number.
```

## **数据范围**

$n<=100000000$

---

## AD. 牟宸瑞数

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AE. GESP-C++-2023年12月五级真题卷GESP-C++-2023年12月五级真题卷

# GESP-C++-2023年12月五级真题卷GESP-C++-2023年12月五级真题卷

## 单选题 共30分

1), 下面 $C++$ 代码用于求斐波那契数列，该数列第 $1$ 、 $2$ 项为 $1$ ，以后各项均是前两项之和。下面有关说法错误的 是( )。
```cpp
int fiboA(int N)
{
    if(N == 1 || N==2)
        return 1;
        return fiboA(N-1) + fiboA(N-2);
 }

 int fiboB(int N)
 {
    if(N == 1 || N==2)
        return 1;
    int last2 = 1, last1 = 1;
    int nowVal = 0;
    for(int i=2;i<N;i++)
    {
        nowVal = last1 + last2;
        last2 = last1;
        last1 = nowVal;
    }
    return nowVal;
 }
```
{{ select(1) }}
- A. `fiboA( )` 用递归方式，`fiboB()` 循环方式
- B. `fiboA( )` 更加符合斐波那 mache 数列的数学定义，直观易于理解，而 `fiboB( )` 需要将数学定义转换为计算机程序实现
- C. `fiboA( )` 不仅仅更加符合数学定义，直观易于理解，且因代码量较少执行效率更高
- D. `fiboB( )` 虽然代码量有所增加，但其执行效率更高

2), 下面 $C++$ 代码以递归方式实现合并排序，并假设 `merge (int T[], int R[], int s, int m, int t)` 函数将有序（同样排序规则）的 $T[s...m]$ 和 $T[m+1...t]$ 归并到 $T[s...t]$ 中。横线处应填上代码是( )。
```cpp
 void mergeSort(int SList[], int TList[], int s,int t,int len)
 {
    if(s==t){
        TList[s] = SList[s];
        return;
    }
    int *T2 = new int[len];//保存中间结果
    int m = (s+t)/2;
    ________________;
    merge(T2, SList, s, m, t);
    delete T2;
    return ;
 }
```
{{ select(2) }}
- A. `mergeSort(SList, T2, s, m,len), mergeSort(SList, T2, m,t,len)`
- B. `mergeSort(SList, T2, s, m-1,len), mergeSort(SList, T2, m+1,t,len)`
- C. `mergeSort(SList, T2, s, m,len), mergeSort(SList, T2, m+1,t,len)`
- D. `mergeSort(SList, T2, s, m-1,len), mergeSort(SList, T2, m-1,t,len)`

3), 阅读下面的 $C++$ 代码，执行后其输出是( )。
```cpp
 int stepCount = 0;
 int fracA(int N)
 {
    stepCount += 1;
    cout << stepCount <<"->";
    int rtn=1;
    for (int i = 1; i <= N;i++)
        rtn *= i;
    return rtn;
}
int fracB(int N)
{
    stepCount += 1;
    cout << stepCount <<"->";
    if(N == 1)
        return 1;
    return N*fracB(N-1);
}
int main()
{
    cout << fracA(5);
    cout << "<===>";
    cout << fracB(5);
    return 0;
}
```
{{ select(3) }}
- A. 1->120<===>2->120
- B. 1->120<===>1->120
- C. 1->120<===>1->2->3->4->5->120
- D. 1->120<===>2->3->4->5->6->120

4), 下面的 $C++$ 用于对 `lstA` 排序，使得偶数在前奇数在后，横线处应填入( )
```cpp
bool isEven(int N)
{
    return N % 2 == 0;
}
void swap(int &a, int &b)
{
    int t;
    t=a,a=b,b=t;
    return;
}

void sortA(int lstA[], int n)
{
    int i, j ,t;
    for(i = n - 1; i > 0; i--)
        for(j = 0;j < i; j++)
            if(__________)
                swap(lstA[j], lstA[j + 1]);
    return;
}

```
{{ select(4) }}
- A. `!isEven(lstA[j]) && isEven(lstA[j+1])`
- B. `isEven(lstA[j]) && !isEven(lstA[j+1])`
- C. `lstA[j] > lstA[j+1]`
- D. `lstA[j] < lstA[j+1]`

5), 下面的 $C++$ 代码用于将字符串保存到带头节点的双向链表中，并对重复的串计数，然后将最新访问的串的节点放在链头便于查找。横线处应填入代码是（ ）。
```cpp
typedef struct Node{
    string str;
    int ref;
    struct Node *next, *prev;
} Node;
Node * Insert(Node *pHead, string s)
{
    Node *p = pHead->next;
    Node *q;
    while(p){
        if(p->str == s){
            p->ref++;
            p->next->prev = p->prev;
            p->prev->next = p->next;
            break;
        }
        p=p->next;
    }
    if(!p){
        p = new Node;
        p->str = s;
        p->ref = 0;
        p->next = p->prev = NULL;
    }
    ________________;
    pHead->next = p, p->prev = pHead;
    return pHead;
 }

```
{{ select(5) }}
- A. `if(pHead) {p->next = pHead->next, pHead->next->prev = p;}`
- B. `if(pHead->next) {p->next = pHead->next, pHead->next->prev = p;}`
- C. `p->next = pHead->next, pHead->next->prev = p;`
- D. 触发异常，不能对空指针进行操作。

6), 有关下面 $C++$ 代码说法正确的是（ ）。
```cpp
int rc;
int foo(int x, int y)
{
    int r;
    if(y == 0)
        r = x;
    else{
        r = foo(y, x % y);
        rc++;
    }
    return r;
}

```
{{ select(6) }}
- A. 如果 $x$ 小于 $10$ ， $rc$ 值也不会超过 $20$
- B. `foo` 可能无限递归
- C. `foo` 可以求出 $x$ 和 $y$ 的最大公共质因子
- D. `foo` 能够求出 $x$ 和 $y$ 最小公倍数

7), 下面的 $C++$ 代码实现对 `list` 的快速排序，有关说法，错误的是（ ）。
```cpp
vector<int> operator +(vector<int>lA,vector<int>lB)
{
    vector<int>lst;

    for(int i = 1; i < lA.size(); i++)
        lst.push_back(lA[i]);
    for(int i = 1; i < lB.size(); i++)
        lst.push_back(lB[i]);

    return lst;
}

vector<int>qSort(vector<int>lst)
{
    if(lst.size() < 2)
        return lst;
    int pivot = lst[0];
    vector<int>less, greater;
    for(int i = 1; i < lst.size(); i++)
        if(lst[i] < pivot) less.push_back(lst[i]);
        else greater.push_back(lst[i]);
    for(int i = 1; i < lst.size(); i++)
        if(lst[i] < pivot) less.push_back(lst[i]);
        else greater.push_back(lst[i]);

    return ________________;
}

```
{{ select(7) }}
- A. `qSort(less) + qSort(greater) + (vector<int>)pivot`
- B. `(vector<int>)pivot + (qSort(less) + qSort(greater))`
- C. `(qSort(less) + (vector<int>)pivot + qSort(greater))`
- D. `qSort(less) + pivot + qSort(greater)`

8), 下面 $C++$ 代码中的 `isPrimeA()` 和 `isPrimeB()` 都用于判断参数 $N$ 是否素数，有关其时间复杂度的正确说法是（ ）。
```cpp
bool isPrimeA(int N)
{
    if(N < 2)
        return false;
    for(int i =2; i <= N / 2; i++)
        if(n % i == 0)
            return false;
    return true;
}
bool isPrimeB(int N)
{
    if (N < 2)
        return false;
    for(int i = 2; i<= sqtr(N); i++)
        if(N % i == 0)
            return false;
    return true;
}

```
{{ select(8) }}
- A. `isPrimeA()` 的最坏时间复杂度是 $O(\frac{N}{2})$ ，`isPrimeB()` 的最坏时间复杂度是 $O(log_{}{N})$ ，`isPrimeA()` 优于 `isPrimeB()`
- B. `isPrimeA()` 的最坏时间复杂度是 $O(\frac{N}{2})$ ，`isPrimeB()` 的最坏时间复杂度是 $O(N^{\frac{1}{2}})$ ，`isPrimeA()` 优于 `isPrimeB()`
- C. `isPrimeA()` 的最坏时间复杂度是 $O(N^{\frac{1}{2}})$ ，`isPrimeB()` 的最坏时间复杂度是 $O(N)$ ，`isPrimeA()` 优于 `isPrimeB()`
- D. `isPrimeA()` 的最坏时间复杂度是 $O(log_{}{N})$ ，`isPrimeB()` 的最坏时间复杂度是 $O(N)$ ，`isPrimeA()` 优于 `isPrimeB()`

9), 下面 $C++$ 代码用于有序 `list` 的二分查找，有关说法错误的是（ ）。
```cpp
int _binarySearch(vector<int>lst, int Low, int High, int Target)
{
    if(Low > High)
        return -1;
    int Mid = (Low + High) / 2;
    if(Target == lst[Mid])
        return Mid;
    else if(Target < lst[Mid])
        return _binarySearch(lst, Low, Mid - 1, Target);
    else
        return _binarySearch(lst, Mid + 1, High, Target);
}
int bSearch(vector<int>lst, int Val)
{
    return _binarySearch(lst, 0, lst.size(), Val);
}

```
{{ select(9) }}
- A. 代码采用二分法实现有序 `list` 的查找
- B. 代码采用分治算法实现有序 `list` 的查找
- C. 代码采用递归方式实现有序 `list` 的查找
- D. 代码采用动态规划算法实现有序 `list` 的查找

10), 在上题的 `_binarySearch` 算法中，如果 `lst` 中有 $N$ 个元素，其时间复杂度是（ ）。
{{ select(10) }}
- A. $O(N)$
- B. $O(logN)$
- C. $O(Nlog_{}{N})$
- D. $O(N^{2})$

11), 下面的 $C++$ 代码使用数组模拟整数加法，可以处理超出大整数范围的加法运算。横线处应填入代码是（）。
```cpp
vector<int> operator +(vector<int> a,vector<int> b)
{
    vector<int> c;
    int t=0;

    for(int i = 1; i < a.size() || i < b.size(); i++)
    {
        if(i < a.size()) t = t + a[i]);
        if(i < b.size()) t = t + b[i]);
        ________________
    }

    if(t) c.push_back(t);

    return c;
}

```
{{ select(11) }}
- A. `c.push_back(t % 10), t = t % 10;`
- B. `c.push_back(t / 10), t = t % 10;`
- C. `c.push_back(t / 10), t = t / 10;`
- D. `c.push_back(t % 10), t = t / 10;`

12), 有关下面 $C++$ 代码的说法正确的是（ ）。
```cpp
class Node
{
public:
    int Value;
    Node* Prev;
    Node* Next;
    Node(int Val, Node* Prv = NULL, Node* Nxt = NULL);
};

Node::Node(int Val, Node*Prv,Node* Nxt)
{
    this->Value = Val;
    this->Prev = Prv;
    this->Next = Nxt;
}

int main()
{
    Node firstNode = Node(10);
    firstNode.Next = new Node(100, &firstNode);
    firstNode.Next->Next = new Node(111, firstNode.Next);
}
```
{{ select(12) }}
- A. 上述代码构成单向链表
- B. 上述代码构成双向链表
- C. 上述代码构成循环链表
- D. 上述代码构成指针链表

13), 通讯卫星在通信网络系统中主要起到（）的作用。
{{ select(13) }}
- A. 信息过滤
- B. 信号中继
- C. 避免攻击
- D. 数据加密

14), 小杨想编写一个判断任意输入的整数 $N$ 是否为素数的程序，下面哪个方法不合适？（ ）
{{ select(14) }}
- A. 埃氏筛法
- B. 线性筛法
- C. 二分答案
- D. 枚举法

15), 下面的排序算法都要处理多趟数据，哪种排序算法不能保证在下一趟处理时从待处理数据中选出最大或最小的数据？（ ）
{{ select(15) }}
- A. 选择排序
- B. 快速排序
- C. 堆排序
- D. 冒泡排序

## 判断题 共20分

16), 归并排序的时间复杂度是 $O(Nlog_{}{N})$ 。( )
{{ select(16) }}
- true
- false

17), 小杨在生日聚会时拿一块 $H\times W$ 的巧克力招待来的 $K$ 个小朋友，保证每位小朋友至少能获得一块相同大小的巧克力。那么小杨想分出来最大边长的巧克力可以使用二分法。（ ）
{{ select(17) }}
- true
- false

18), 以下 $C++$ 代码能以递归方式实现斐波那契数列，该数列第 $1$ 、 $2$ 项为 $1$ ，以后各项均是前两项之和。( )
```cpp
int Fibo(int N)
{
    if(N == 1 || N == 2)
        return 1;
    else
    {
        int m = fiboA(N - 1);
        int n = fiboB(N - 2);
        return m + n;
    }
}

```
{{ select(18) }}
- true
- false

19), 贪心算法可以达到局部最优，但可能不是全局最优解。( )
{{ select(19) }}
- true
- false

20), 小杨设计了一个拆数程序，它能够将任意的非质数自然数 $N$ 转换成若干个质数的乘积，这个程序是可以设计出来的。（ ）
{{ select(20) }}
- true
- false

21), 插入排序有时比快速排序时间复杂度更低。（ ）
{{ select(21) }}
- true
- false

22), 下面的 $C++$ 代码能实现十进制正整数 $N$ 转换为八进制并输出。（ ）
```cpp
 char s[10];
 int main()
 {
 	int N;
 	cin >> N;
 	string rst = "";
 	while(N != 0)
 	{
 		s[0] = N % 8 + '0';
 		rst += string(s);
 		N /= 8;
	 }
	 cout<<rst<<endl;
	 return 0;
 }
```
{{ select(22) }}
- true
- false

23), 对数组 `int arr[] = {2, 6, 3, 5, 4, 8, 1, 0, 9, 10}` 执行 `sort(arr, arr+10)`，则执行后 `arr` 中的数据调整为 `{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}`。（ ）
{{ select(23) }}
- true
- false

24), 小杨想写一个程序来算出正整数 $N$ 有多少个因数，经过思考他写出了一个重复没有超过 $N/2$ 次的循环就能够算出来了。（ ）
{{ select(24) }}
- true
- false

25), 同样的整数序列分别保存在单链表和双向链中，这两种链表上的简单冒泡排序的复杂度相同。（ ）
{{ select(25) }}
- true
- false

---

## AF. 数字拆分

# 数字拆分

### 算法标签

Level2, 数学2, GESP3级

## 题目背景

小明是一位热衷于探索古老数学遗迹的探险家。他发现了一些神秘的谜题，需要你来帮助他解决。

## 题目描述

在一个古老的遗迹中，给定整数 $n$ 和 $k$，需要判断能否通过恰好选择 $k$ 个形如 $3^m$（$m$ 为非负整数）的特殊数字相加得到 $n$。

换言之，是否存在非负整数序列 $\{a_1, a_2, \dots, a_k\}$，使得
$$
n = 3^{a_1} + 3^{a_2} + \dots + 3^{a_k}.
$$

## 输入格式

第一行包含一个正整数 $T$，表示谜题的个数。  
接下来 $T$ 行，每行包含两个整数 $n$ 和 $k$。

## 输出格式

输出共 $T$ 行，对于每一道谜题，如果可以则输出 "Yes"，否则输出 "No"。

## 样例

```input1
4
5 3
17 2
5 2
1000000000000000000 1000000000000000000
```

```output1
Yes
No
Yes
Yes
```

### 样例解释

样例一：$5 = 3^1 + 3^1 + 3^0$，故输出 Yes。  
样例二：无法用两个 $3^m$ 的和表示 17，故输出 No。

## 数据范围

- 对于 30% 的数据，保证 $n \le 10,\ k \le 5$。  
- 对于 30% 的数据，保证 $n \le 1000,\ k \le 2$。  
- 对于 100% 的数据，保证 $1 \le k \le 10^9,\ 1 \le T \le 10^5,\ n$ 在 64 位有符号整数范围内。

---

## AG. 分堆互质

# 分堆互质

### 算法标签

Level1 数学1 GESP1级

## 题目背景

为 acjudge 比赛而努力奋斗，打好每一场比赛。

## 题目描述

正整数 $a$ 与 $b$ 的最大公约数是能同时整除 $a$ 与 $b$ 的最大正整数 $d$。若最大公约数为 $1$，则称 $a$ 与 $b$ 互质。

给定正整数 $n$，将 $1$ 到 $n$ 共 $n$ 个正整数划分为若干堆，需要使每一堆内任意两个数都互质。求最少需要划分成多少堆。

## 输入格式

一个正整数 $n$。

## 输出格式

输出一个整数，表示最少需要的堆数。

## 样例

```input1
2
```

```output1
1
```

```input2
5
```

```output2
2
```

### 样例解释

样例1：将 $\{1,2\}$ 放在一堆，它们互质，因此堆数为 $1$。  
样例2：一种方案是 $\{1,2,5\}$ 和 $\{3,4\}$，各堆内元素两两互质，堆数为 $2$。

## 数据范围

$1 \le n \le 10^{18}$

---

## AH. 你好，世界

# 愿此行，终砥群星

黄金裔全都死光光了哈哈哈
昔涟没了哈哈哈
翁法洛斯的故事太好玩了哈哈哈

曾↑许↑下↓心→愿↓~

等↑待↓你→

的↓出↓现→~

褪↓色↓的→秋↑千↓

有↑本→书↕，会↑纪↓念→

我→循↓着→时↑间→

捡↑起↓梦→

的↓照↓片↓↑

童→话↑还↓没→有↓兑↑现↑

却↓需↑要↓说↓再↓见↓


如→果→

有↓一→天↓

岁↓月↑晕↓开↑书→页↓

请↓把↓我→模↑糊→的↓字↓迹↓当↑作→笑↓脸→


很↓久→前↑

想↑象↓今↑天↓画→面↓

哭↓着→笑↓着→告↓别↑

陌↑生↓的→情↑节→

熟↑悉↓的→侧↑脸→都↓重↑叠↓


WOW~~~

出↓发↑前→

无↓数↓星↑光↓遣↑卷↓

要↑怀↑日↓落↑在↓指↑尖→

当↑世↓界↑向→前→

我↑会↓在↑原↓地↓

留↑恋↓

---

## AI. 新手必做

###### # Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.


---

## AJ. 阿斯蒂芬规划局快乐

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AK. 烤面筋

输出“长大我要烤面筋”；

---

## AL. 邪恶的肘🐔战士	 kunkka 	 kunkka	 kunkka	

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AM. 最长连胜球队编号

## 题目背景

在一场激烈的篮球联赛中，连胜场次往往能够点燃球迷的热情。给定一系列比赛的胜者编号，我们希望找出哪支球队实现了最长的连胜纪录。

## 题目描述

现给出 $n$ 场比赛的获胜队伍编号，请你求出哪支球队的连胜场次最多。题目保证解唯一。

例如，输入 6 场比赛的获胜队伍数据如下：1 2 2 2 6 6  
那么，1 号队最长连胜 1 场，2 号队最长连胜 3 场，6 号队最长连胜 2 场，因此 2 号队连胜场次最多。

## 输入格式

第 1 行包含一个整数 $n$，表示比赛场数（$5 \le n \le 100$）。  
第 2 行包含 $n$ 个整数，分别表示每场比赛获胜队伍的编号。

## 输出格式

输出连胜场次最多的球队编号。

## 样例

```input1
6
1 2 2 2 6 6
```

```output1
2
```

### 样例解释

1 号队最长连胜 1 场，2 号队最长连胜 3 场，6 号队最长连胜 2 场，因此 2 号队连胜场次最多。

## 数据范围

$5 \le n \le 100$

---

## AN. 四个问号的子串匹配

## 题目背景

卡卡在玩一个字符串游戏，他得到了一个包含“?”占位符的神秘字符串 $T$，与此同时，他想知道某个目标字符串 $U$ 是否可能是原始字符串的子串。

## 题目描述

给定一个字符串 $T$，它由小写英文字母和 '?' 组成；以及一个只包含小写英文字母的字符串 $U$。字符串 $T$ 是从某个仅包含小写字母的原始字符串 $S$ 中，通过将恰好四个字符替换为 '?' 而得到的。判断是否存在一种对 '?' 的替换方式，使得原始字符串 $S$ 中包含 $U$ 作为连续子串。

## 输入格式

第一行：字符串 $T$，长度满足 $4 \le |T| \le 10$，由小写字母和 '?' 组成，且恰好包含四个 '?'。  
第二行：字符串 $U$，长度满足 $1 \le |U| \le |T|$，由小写字母组成。

## 输出格式

如果存在一种替换方式使得原始字符串 $S$ 包含 $U$ 作为连续子串，输出 Yes；否则输出 No。

## 样例

```input1
tak??a?h?
nashi
```

```output1
Yes
```

### 样例解释

在样例 1 中，如果原始字符串 $S$ 为 "takanashi"，那么 $S$ 包含 "nashi" 作为连续子串，所以答案是 Yes。

```input2
??e??e
snuke
```

```output2
No
```

在样例 2 中，无论如何替换 '?' ，都无法在 $S$ 中得到 "snuke" 作为连续子串。

```input3
????
aoki
```

```output3
Yes
```

在样例 3 中，可以将所有 '?' 替换为 "aoki"，直接匹配。

## 数据范围

- $4 \le |T| \le 10$，且 $T$ 恰好包含四个 '?'。  
- $1 \le |U| \le |T|$。

[abc403_b-Four Hidden](https://acjudge.jp/contests/abc403/tasks/abc403_b)

---

## AO. 于郅骁

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AP. 土拨鼠的背包管理

# 背景说明

土拨鼠mhr喜欢打三角洲，但是撤离前总是不能优化好背包
# 题目描述
有一个 $N$x$M$x$ K $的三维背包（长×宽×高），背包被划分为 *F* 个互不重叠、完全覆盖背包的三维矩形区域（区域边界平行于坐标轴，体积和等于 $N$x$M$x$K$）。每个区域 *i* 有两个额外属性：$P_i$（区域优先级，1 $\leq P_i \leq$ 10）、$Q_i$（区域关联标记，$1 \leq Q_i \leq 20$），同关联标记的区域为一组，组内所有区域的物品类型集合必须完全相同（即组内各区域使用的物品类型种类完全一致，数量无限制）。

现有 *T* 个物品可供选择，每个物品 *i* 有七个属性：$A_i$（长）、$B_i$（宽）、$C_i$（高）、$D_i$（价值）、$E_i$（重量）、$F_i$（类型）、$G_i$（时效，$1 \leq G_i \leq 5$）。物品需满足以下所有约束：

1. 物品三维尺寸可任意互换（如 $2 \times 3 \times 4$ 与 $4 \times 2 \times 3$ 等效），必须完整放入某一个区域（不可跨区），且放入区域的优先级$ P_i$ 需 $\geq$ 物品时效 $G_i$；

2. 所有选中物品的总重量不超过 $W_{max}$，且同一类型物品的总数量不超过 $C_{max}$（$C_{max}$ 为输入给定常数）；
3. 若物品类型 $F_i$ 为质数，其放入的区域必须是所在组中体积最大的区域；

4. 每个区域内放入的物品，其时效 $G_i $的最大值需等于该区域的优先级 $P_i$；

5. 全局所有区域使用的物品类型总数不超过 $T_{max}$，且同关联组内的区域，类型使用数量需严格相等（均为$ k，0 \leq k \leq T_{max}$）。

请选择若干物品，在满足所有约束的前提下，最大化总价值
# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.


---

## AQ. Special Judge 测试

## 题目描述

输入 $a$ 和 $b$，输出 $a + b$ 的结果，另外，直接输出 0 可以获得 50% 的分数。

## 输入格式

一行两个正整数 $a$ 和 $b$ 。

## 输出格式

一行一个正整数 $a + b$。

```input1
1 2
```

```output1
3
```

## 数据规模与约定

对于 $100\%$ 的数据，$a, b \leq 10 ^ 6$。


---

## AR. 1111

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AS. qw

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AT. 大聪明

# Background
Special for beginners, ^_^

# Description
Given two integers x and y, print the sum.

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
123 500
```

```output1
623
```

# Limitation
1s, 1024KiB for each test case.

---

## AU. 洛谷2020 CSP-J 模拟题

假如第1-5题的答案为A,A,A,A,A，那么就写
```c++
#include<bits/stdc++.h>

using namespace std;

int main()
{
  cout<<"A A A A A";
  return 0;
}
```
# 判断题对是A，错是B！！！
![](file://pUHQzsAbhCUkhmVUhL5Fb.jpeg)
![](file://7X0P7UrqvAbqclDMRI8KP.jpeg)
![](file://yYNnB7vwaBxL1TPc1k1Ay.jpeg)
![](file://BUTIBeZuIsRoPsxVKGb4Y.jpeg)
![](file://ZQtWVgsI-L5KvMvt1NEuw.jpeg)
![](file://YgDp9DmzUXB0a6i1SiMq9.jpeg)
![](file://OnpvSnwn3Mlw1VzNf0lze.jpeg)
![](file://o5itJHqa0fhHAZGmr5F-T.jpeg)
![](file://qwd8n6GziSTW6fJzl3cXp.jpeg)







---

## AV. 锤爆学生2



# Description
kunkka 觉得之前的规则太简单，决定升级惩罚机制。现在教室里有 N 名学生，每位学生的状态信息如下：
状态 0：正在玩游戏，直接被锤爆
状态 1 x y：假装做题，x 为代码字符数，y 为做题时长（分钟）
若 x≤300：直接被锤爆
若 x>300 但 y<10：因做题时间太短被锤爆
若 x>300 且 y≥10：逃过一劫
状态 2 s：请假外出，s 为外出理由（字符串）
若 s 中包含 "厕所"（不区分大小写）：安全
其他情况：被锤爆
请统计最终被锤爆的学生总数。

# Format

## Input
第一行一个整数 N（1≤N≤1000000）
接下来 N 行，每行是以下三种格式之一：
0
1 x y（1≤x≤10000000，1≤y≤1000）
2 s（s 为不含空格的字符串，长度≤100）

## Output
输出被锤爆的学生个数

# Samples

```input1
5
0
1 250 60
1 400 5
2 Toilet
2 library
```

```output1
4
```
# 解释：
第 1 名学生：状态 0 → 被锤爆
第 2 名学生：x=250≤300 → 被锤爆
第 3 名学生：x=400>300 但 y=5<10 → 被锤爆
第 4 名学生：理由含 "Toilet"（等价 "厕所"） → 安全
第 5 名学生：理由为 "library" → 被锤爆
总计被锤爆 4 人
# Limitation
1s, 1024KiB for each test case.


---

## AW. 因鼠

# 题目背景

小明有个朋友叫小红，Ta养了一只因鼠。

# 题目描述

因鼠会叫出自己的所有因数 。

## 输入

一个整数$n$。

## 输出

它的所有因数。(用一个空格隔开)

# 样例1

```input1
2
```

```output1
1 2
```

# 样例2  

```input2
6
```

```output2
1 2 3 6
```

# 数据范围

1 <= n <= 100


---

## AX. 哪吒20MB全损版

1

---

## AY. 最长上升子序列变种

# Background
最长上升子序列变种

# Description
给定一个长度为 n 的整数序列 nums，请你找出其中最长的摆动子序列的长度。摆动子序列是指一个连续或不连续的子序列，其中相邻元素的差值正负交替出现（即先增后减、再增再减…… 或先减后增、再减再增……）。
例如：
序列 [1,7,4,9,2,5] 的最长摆动子序列是 [1,7,4,9,2]，长度为 5；
序列 [1,2,3,4,5] 的最长摆动子序列长度为 2（任意两个相邻元素）。

# Format

## Input
Two integers x and y, satisfying $0\leq x,y\leq 32767$ .

## Output
One integer, the sum of x and y.

# Samples

```input1
6
1 7 4 9 2 5
```

```output1
5
```

# Limitation
1s, 1024KiB for each test case.
实现时间复杂度为 O (n)、空间复杂度为 O (1) 的解法；
不能使用额外的数组存储中间状态

---

## AZ. 校园小径的积水监测

# Background
校园小径的积水监测

# Description
校园里有一条长为 n 米的直形小径，小径被等分为 n 个 1 米长的路段，每个路段有一个初始的积水深度 \(a_i\)（单位：厘米，\(1 <= i <= n\)）。
接下来会有 m 次操作，每次操作分为两种类型：更新操作：格式为 "1 l r v"，表示给第 l 到第 r 个路段的积水深度各增加 v 厘米（\(1 <= l <= r <=n\)，v 为整数，可正可负）。查询操作：格式为 "2 l r"，表示查询第 l 到第 r 个路段的积水深度总和（\(1 <= l <= r <= n\)）。由于近期降雨频繁，操作次数可能较多，需要你设计一个高效的程序来处理这些操作。

## Input
第一行包含两个整数 n 和 m（\(1 <= n, m<=10^5\)）。第二行包含 n 个整数 \(a_1, a_2, \ldots, a_n\)（\(0 \leq a_i \leq 10^3\)）。接下来 m 行，每行描述一次操作，格式如题目所述

## Output
对于每个查询操作，输出对应的积水深度总和。



# Limitation
1s, 1024KiB for each test case.
**提示**
直接模拟每次更新和查询操作可能会超时，建议使用前缀和的优化技巧（如差分法）。


---

## BA. 最长双回文子序列

# Background
最长双回文子序列

# Description
给定一个字符串 s，请找出其中最长的 "双回文子序列" 的长度。"双回文子序列" 是指一个非空的子序列 T，它可以被分割成两个非空的连续部分 T1 和 T2（即 T = T1 + T2，T1 和 T2 均不为空），且 T1 和 T2 都是回文子序列。



## Input
输入一行包含一个只由小写英文字母组成的字符串 s（1 ≤ len(s) ≤ 1000）。


## Output
输出一个整数，表示最长双回文子序列的长度。如果不存在这样的子序列（例如字符串长度小于 2），则输出 0。


# Samples

```input1
abba
```

```output1
4
```

# Limitation
1s, 1024KiB for each test case.


---

## BB. 子数组的最大和

# Background
子数组的最大和

# Description
给定一个包含整数（可能为正数、负数或零）的数组，找出其中所有连续子数组的最大和。子数组是指数组中元素连续的一个子集，长度至少为 1。


## Input
第一行包含一个整数 n（1 ≤ n ≤ 10^5），表示数组的长度
第二行包含 n 个整数，用空格分隔

## Output
输出一个整数，表示所有连续子数组的最大和

# Samples

```input1
8
-2 1 -3 4 -1 2 1 -5
```

```output1
6
```

# Limitation
1s, 1024KiB for each test case.


---

## BC. 练17.3 比大小

<h2>说明</h2>

试编一个程序，输入两个整数，比较大小，并按照从小到大的顺序输出。
<h2>输入格式</h2>

一行两个整数。

<h2>输出格式</h2>

一行两个整数，按从小到大的顺序输出，中间一个空格隔开。

<h2>样例</h2>
<pre><code class="language-input1">2 1</code></pre><pre><code class="language-output1">1 2</code></pre>


---

## BD. 练17.2 公园门票

<h2>说明</h2>

公园门票的票价是每人$50$元，一次购票满$30$张，每张可以少收$2$元。试编写自动计费系统程序。
<h2>输入格式</h2>

输入一个正整数，表示购票的数量，输入数字在int范围内。

<h2>输出格式</h2>

输出一个整数，表示用户实际需要支付的金额。

<h2>样例</h2>
<pre><code class="language-input1">30</code></pre><pre><code class="language-output1">1440</code></pre>


---

## BE. 【例17.2】 蜗牛爬行

<h2>说明</h2>

蜗牛准备向着神秘国度进发了。已知它爬行的时候需要吃菜叶补充能量。如果它爬行的过程中的前 $6$ 厘米，每爬行 $1$ 厘米要吃 $5$ 毫克的菜叶，之后超过 $6$ 厘米的部分每 $1$ 厘米需要吃 $7$ 毫克菜叶。已知今天它向着神秘国度进发了 $n$ 厘米，请问它会吃掉多少毫克的菜叶？
<h2>输入格式</h2>

输入为一个整数 $n$ ，表示蜗牛爬行的距离（$1≤n≤10$）。

<h2>输出格式</h2>

输出一行，包含一个整数，表示蜗牛吃了多少毫克的菜叶。

<h2>样例</h2>
<pre><code class="language-input1">5</code></pre><pre><code class="language-output1">25</code></pre>


---

## BF. 【例17.1】 双面打印

<h2>说明</h2>

为了方便小蓝的学习，妈妈会把老师发放的材料打印出来。而为了环保，妈妈一般都进行双面打印，也就是一张纸的正反面都打印出相应的内容。举个例子来说：如果一份电子材料有 $3$ 页，那么需要 $2$ 张纸进行打印；如果一份电子材料有 $4$ 页，那么还是需要 $2$ 张纸进行打印。现在已经知道了一份电子版的学习材料的页数 $N$，你能帮小蓝计算一下需要几张纸吗？
<h2>输入格式</h2>

整数 $N$($0≤N≤1000$)，代表一份电子版的学习材料的页数。

<h2>输出格式</h2>

双面打印所需纸的张数。

<h2>样例</h2>
<pre><code class="language-input1">7</code></pre><pre><code class="language-output1">4</code></pre>


---

## BG. 练16.3 选择题判定

<h2>说明</h2>

受疫情的影响，2020 年蓝桥杯大赛青少年创意编程 C++ 组的省赛在网上进行。选择题有 5 道，都是单选题，每道 30 分，共计 150 分。每道选择题选对得 30 分，选错或者不选得 0 分。<br />
注意以下仅为假设，不代表本场考试选择题的真实答案，仅是针对本编程题假设出的答案。<br />
假设正确的答案为 "DCBAD"，那么你能根据选手的提交情况，判定选手的选择题总分吗？选手提交一个由5个字符组成的字符串，代表选手的选项。字符串仅能包含如下 5 种字符："D"、"C"、"B"、"A"、"E"。其中 "A"、"B"、"C"、"D" 代表选手选择了某个选项，而 "E" 代表选手未做该题。
<h2>输入格式</h2>

选手提交的一个由 5 个字符组成的字符串。

<h2>输出格式</h2>

一个整数，代表选手选择题的总分。

<h2>样例</h2>
<pre><code class="language-input1">DCEAA</code></pre><pre><code class="language-output1">90</code></pre>


---

## BH. 练16.1 跳绳达人

<h2>说明</h2>

风之巅小学每学期都会举行跳绳比赛，比赛规定一分钟跳$200$次及以上就能被评为“跳绳达人”。尼克和格莱尔都是跳绳高手，每个学期都能评为“跳绳达人”。<br />
试编一程序，输入一分钟跳绳的次数，若大于等于$200$次，输出“跳绳达人！”，否则输出“继续努力！”。
<h2>输入格式</h2>

一行一个整数，表示跳绳次数的值。

<h2>输出格式</h2>

一行一句话，表示跳绳的程度。

<h2>样例</h2>
<pre><code class="language-input1">220</code></pre><pre><code class="language-output1">跳绳达人！</code></pre>


---

## BI. 练3.3 01子串

<h2>说明</h2>

对于长度为 $3$ 位的一个 $0$、$1$ 串，每一位都可能是 $0$ 或 $1$，一共有 $8$ 种可能。它们的前几个是：<br />
<pre>000
001
010
……</pre>
<br />
请按从小到大的顺序输出这 $8$ 种 $01$ 串。
<h2>输入格式</h2>

无

<h2>输出格式</h2>

输出 $8$ 行，按从小到大的顺序每行一个长度为 $3$ 的 $01$ 串。

<h2>样例</h2>
<pre><code class="language-input1">无</code></pre><pre><code class="language-output1">000
001
010
011
100
101
110
111</code></pre>


---

## BJ. 练16.2 奇偶数判断

<h2>说明</h2>

给定一个整数，判断该数是奇数还是偶数。如果$n$是奇数，输出<code>odd</code>；如果$n$是偶数，输出<code>even</code>。
<h2>输入格式</h2>

输入仅一行，一个大于零的正整数$n$。

<h2>输出格式</h2>

输出仅一行，如果$n$是奇数，输出<code>odd</code>；如果$n$是偶数，输出<code>even</code>。

<h2>样例</h2>
<pre><code class="language-input1">5</code></pre><pre><code class="language-output1">odd</code></pre>


---

## BK. 【例17.3】 内功逼毒

<h2>说明</h2>
黄蓉中了毒，在 $t$ 时间内不解毒就会毒发身亡。郭靖用内功帮她把毒逼出来，每个单位时间可以逼出 $m$ 点毒，而黄蓉一共中了 $n$ 点毒。现在请你判断黄蓉能否得救？
<h2>输入格式</h2>
三个整数 $t$,$n$,$m$ ($1 \le t, n, m \le 10^4$ )。
<h2>输出格式</h2>
如果黄蓉能得救，输出"<code>yes</code>"；否则输出"<code>no</code>"。
<h2>样例</h2>
<pre><code class="language-input1">100 1001 10</code></pre><pre><code class="language-output1">no</code></pre>


---

## BL. 练17.1 奇偶ASCII值判断

<h2>说明</h2>

任意输入一个字符，判断其ASCII值是否是奇数，若是，输出<code>YES</code>，否则，输出<code>NO</code>。例如，字符'$A$'的ASCII值是$65$，则输出<code>YES</code>，若输入字符'$B$'(ASCII值是$66$)，则输出<code>NO</code>。
<h2>输入格式</h2>

输入一个字符。

<h2>输出格式</h2>

如果其ASCII值为奇数，则输出<code>YES</code>，否则，输出<code>NO</code>。

<h2>样例</h2>
<pre><code class="language-input1">A</code></pre><pre><code class="language-output1">YES</code></pre>


---

## BM. 【例16.3】 收费

<h2>说明</h2>

乘坐飞机时，当乘客行李小于等于$20$公斤时，按每公斤$1.68$元收费，大于$20$公斤时，按每公斤$1.98$元收费，编程计算收费(保留$2$位小数)。
<h2>输入格式</h2>

行李重量。

<h2>输出格式</h2>

费用（保留$2$位小数）。

<h2>样例</h2>
<pre><code class="language-input1">20.00</code></pre><pre><code class="language-output1">33.60</code></pre>


---

## BN. 【例16.2】 开灯

<h2>说明</h2>

小蓝家的灯是线型开关的，拉一次灯开，再拉一次灯关，未拉之前是熄灭状态。<br />
输入一个正整数 $M$($1 < M < 100$)，作为小蓝拉灯的次数，判断拉灯 $M$ 次后，灯是点亮状态还是熄灭状态。

<h2>输入格式</h2>

输入一个正整数 $M$ 作为拉灯的次数（$1 < M < 100$）。

<h2>输出格式</h2>

如果灯是点亮状态输出整数 $1$，如果灯是熄灭状态输出整数 $0$。

<h2>样例</h2>
<pre><code class="language-input1">5</code></pre><pre><code class="language-output1">1</code></pre>



---

## BO. 练15.3 最大的数

<h2>说明</h2>

输入三个数，输出其中最大的数。
<h2>输入格式</h2>

输入三个数

<h2>输出格式</h2>

其中最大的数

<h2>样例</h2>
<pre><code class="language-input1">1.01 2 3.22</code></pre><pre><code class="language-output1">3.22</code></pre>


---

## BP. 【例16.1】 判断数正负

<h2>说明</h2>

给定一个整数 $N$ ，判断其正负。如果 $N>0$ ，输出<code>positive</code>；如果 $N=0$ ，输出<code>zero</code>；如果 $N<0$ ，输出<code>negative</code>。

<h2>输入格式</h2>

一个整数 $N$($-10^9 \le N \le 10^9$)。

<h2>输出格式</h2>

如果 $N>0$, 输出<code>positive</code>;

如果 $N=0$,  输出<code>zero</code>;

如果 $N<0$,  输出<code>negative</code>。

<h2>样例</h2>
<pre><code class="language-input1">1</code></pre><pre><code class="language-output1">positive</code></pre>


---

## BQ. 练15.1 其他数据类型存储空间大小

<h2>说明</h2>

分别定义<code>bool</code>，<code>char</code>类型的变量各一个，并依次输出它们的存储空间大小(单位：字节)。
<h2>输入格式</h2>

无

<h2>输出格式</h2>

一行，两个整数，分别是两个变量的存储空间大小，用一个空格隔开。

<h2>样例</h2>
<pre><code class="language-input1">无</code></pre><pre><code class="language-output1">无</code></pre>


---

## BR. 练15.2 智商问题

<h2>说明</h2>

智商（IQ）反映人的聪明程度，它是法国心理学家比奈提出的。他将一般人的平均智商定为$100$。分数越高，表示越聪明，智商就越高，$140$分以上者称为天才。<br />
试编一程序，输出一个$200$以内的整数作为IQ值，判断是不是天才。
<h2>输入格式</h2>

一行一个整数，表示IQ的值。

<h2>输出格式</h2>

输出“天才”或不输出。

<h2>样例</h2>
<pre><code class="language-input1">150</code></pre><pre><code class="language-output1">天才</code></pre>


---

## BS. 【例15.3】 最大数输出

<h2>说明</h2>

输入三个整数，数与数之间以一个空格分开。 输出一个整数，即最大的整数。
<h2>输入格式</h2>

输入为一行，包含三个整数，数与数之间以一个空格分开。

<h2>输出格式</h2>

输出一行，包含一个整数，即最大的整数。

<h2>样例</h2>
<pre><code class="language-input1">10 20 56</code></pre><pre><code class="language-output1">56</code></pre>


---

## BT. 【例15.2】 偶数

<h2>说明</h2>

读入一个正整数$a$，如果$a$为偶数输出<code>yes</code>。
<h2>输入格式</h2>

一个正整数$a$。

<h2>输出格式</h2>

偶数输出<code>yes</code>，否则什么也不输出。

<h2>样例</h2>
<pre><code class="language-input1">12</code></pre><pre><code class="language-output1">yes</code></pre>


---

## BU. 【例15.1】 整型与布尔型的转换

<h2>说明</h2>

将一个整型变量的值赋给一个布尔型变量，再将这个布尔型变量的值赋给一个整型变量，得到的值是多少？
<h2>输入格式</h2>

一个整型范围内的整数，即初始时整型变量的值。

<h2>输出格式</h2>

一个整数，经过上述过程后得到的结果。

<h2>样例</h2>
<pre><code class="language-input1">3</code></pre><pre><code class="language-output1">1</code></pre>


---

## BV. 练3.2 雪花

<h2>说明</h2>

雪花<br />
一片两片三四片，<br />
五片六片七八片，<br />
九片十片无数片，<br />
飞入梅花看不见。<br />
试编一程序，算算《雪花》第一句中数字1、2、3、4的和是多少？
<h2>输入格式</h2>

无

<h2>输出格式</h2>

先输出数学表达式“$1+2+3+4=$”，然后输出它们的和。

<h2>样例</h2>
<pre><code class="language-input1">无</code></pre><pre><code class="language-output1">1+2+3+4=10</code></pre>


---

## BW. 练14.4 计算多项式的值

<h2>说明</h2>

对于多项式$f(x)=ax^3+bx^2+cx+d$和给定的$a$&#44;$b$&#44;$c$&#44;$d$&#44;$x$，计算$f(x)$的值，保留到小数点后$7$位。
<h2>输入格式</h2>

输入仅一行，包含$5$个实数，分别是$x$，及参数$a$、$b$、$c$、$d$的值，每个数都是绝对值不超过$100$的双精度浮点数。数与数之间以一个空格分开。

<h2>输出格式</h2>

输出一个实数，即$f(x)$的值，保留到小数点后$7$位。

<h2>样例</h2>
<pre><code class="language-input1">2.31 1.2 2 2 3</code></pre><pre><code class="language-output1">33.0838692</code></pre>


---

## BX. 练14.3 地球人口承载力估计

<h2>说明</h2>

假设地球上的新生资源按恒定速度增长。照此测算，地球上现有资源加上新生资源可供$x$亿人生活$a$年，或供$y$亿人生活$b$年。<br />
为了能够实现可持续发展，避免资源枯竭，地球最多能够养活多少亿人？
<h2>输入格式</h2>

一行，包括四个正整数$x$，$a$，$y$，$b$，两个整数之间用单个空格隔开。$x > y$，$a < b$，$ax < by$，各整数均不大于$10000$.

<h2>输出格式</h2>

一个实数$z$，表示地球最多养活$z$亿人，舍入到小数点后两位。

<h2>样例</h2>
<pre><code class="language-input1">110 90 90 210</code></pre><pre><code class="language-output1">75.00</code></pre>


---

## BY. 练14.2 平均分

<h2>说明</h2>

已知某班有男同学$x$位，女同学$y$位，$x$位男生平均分是$87$分，$y$位女生的平均分是$85$，问全体同学平均分是多少分。
<h2>输入格式</h2>

男女同学人数。

<h2>输出格式</h2>

平均分（保留$4$位小数）。

<h2>样例</h2>
<pre><code class="language-input1">2 3</code></pre><pre><code class="language-output1">85.8000</code></pre>


---

## BZ. 练13.4 糖果游戏

<h2>说明</h2>

某幼儿园里，有$5$个小朋友编号为$1$、$2$、$3$、$4$、$5$，他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果(键盘输入)，现在他们做一个分糖果游戏。从$1$号小朋友开始，将自己的糖果均分三份（如果有多余的糖果，则立即吃掉），自己留一份，其余两份分给他的相邻的两个小朋友。接着$2$号、$3$号、$4$号、$5$号小朋友同样这么做。问一轮后，每个小朋友手上分别有多少糖果。
<h2>输入格式</h2>

$5$个小朋友的糖果数。

<h2>输出格式</h2>

游戏后$5$个小朋友的糖果数。(按$5$位宽度输出)

<h2>样例</h2>
<pre><code class="language-input1">8 9 10 11 12</code></pre>
<pre><code class="language-output1">   11    7    9   11    6</code></pre>


---

## CA. 练13.2 对齐输出

<h2>说明</h2>

读入三个整数，按每个整数占$8$个字符的宽度，右对齐输出它们，按照格式要求依次输出三个整数，之间以一个空格分开。
<h2>输入格式</h2>

只有一行，包含三个整数，整数之间以一个空格分开

<h2>输出格式</h2>

只有一行，按照格式要求依次输出三个整数，之间以一个空格分开

<h2>样例</h2>
<pre><code class="language-input1">123456789 0 -1</code></pre><pre><code class="language-output1">123456789       0      -1</code></pre>


---

## CB. 练13.3 反向输出一个三位数

<h2>说明</h2>

将一个三位数反向输出，例如输入$358$，反向输出$853$。
<h2>输入格式</h2>

一个三位数$n$。

<h2>输出格式</h2>

反向输出$n$。

<h2>样例</h2>
<pre><code class="language-input1">100</code></pre><pre><code class="language-output1">001</code></pre>


---

## CC. 【例14.1】输出浮点数

<h2>说明</h2>

读入一个双精度浮点数，分别按输出格式“%f”，“%f”保留5位小数，“%e”和“%g”的形式输出这个整数，每次在单独一行上输出。
<h2>输入格式</h2>

一个双精度浮点数。

<h2>输出格式</h2>

第一行是按“%f”输出的双精度浮点数；<br>第二行是按“%f”保留5位小数输出的双精度浮点数；<br>第三行是按“%e”输出的双精度浮点数；<br>第四行是按“%g”输出的双精度浮点数。

<h2>样例</h2>
<pre><code class="language-input1">12.3456789</code></pre><pre><code class="language-output1">12.345679
12.34568
1.234568e+001
12.3457</code></pre>


---

## CD. 【例14.2】 四舍六入五留双

<h2>说明</h2>

输入一个实数$f$和一个整数$d$。<br />
输出实数$f$，在保留$d$位小数下的结果，采用四舍六入五留双的近似。<br />
$f$至多有$30$位小数。<br />
$0 \le f \le 1$<br />
$1 \le d \le 8$<br />
所谓四舍六入五留双，是指如果恰好是$0.5$的情况，会把它近似到使得前一位是偶数。<br />
比如近似到整数，$0.4$为$0$，$0.5$为$0$，$0.50001$为$1$，$0.6$为$1$，$1.5$为$2$，$2.5$为$2$。
<h2>输入格式</h2>

一行一个浮点数f和一个整数$d$。

<h2>输出格式</h2>

一行一个浮点数表示答案。

<h2>样例</h2>
<pre><code class="language-input1">0.123456789 5</code></pre><pre><code class="language-output1">0.12346</code></pre>


---

## CE. 练14.1 歌手大奖赛

<h2>说明</h2>

歌手大奖赛上$6$名评委给一位参赛者打分，$6$个人打分的平均分为$9.6$分；如果去掉一个最高分，这名参赛者的平均分为$9.4$分；如果去掉一个最低分，这名参赛者的平均分为$9.8$分；如果去掉一个最高分和一个最低分，这名参赛者的平均是多少？
<h2>输入格式</h2>

无

<h2>输出格式</h2>

使用<code>%5.2f</code>按实数格式输出，保留$2$位小数。

<h2>样例</h2>
<pre><code class="language-input1">无</code></pre><pre><code class="language-output1">无</code></pre>


---

## CF. 【例14.3】 数学课上

<h2>说明</h2>

给出一个浮点数，怎么判断这个数离前后相邻两个整数哪个更近，输出距离更近的整数。请你按照四舍五入原则编程输出这个数。
<h2>输入格式</h2>

输入一行，包含 $1$ 个数：$n$（$0.0≤n≤100000.0$）&#44;表示题目要求输入的浮点数。题目保证输入浮点数小数点后保留最多 $8$位。

<h2>输出格式</h2>

输出共计 $1$ 行，包含 $1$ 个数，表示题目所求的距离更近的整数。

<h2>样例</h2>
<pre><code class="language-input1">4.5</code></pre><pre><code class="language-output1">5</code></pre>


---

## CG. 练3.1 唐诗春晓

<h2>说明</h2>

《春晓》是一首有名的诗，但校园里更流行的孩子们自编的《春晓》。诗如下：<br />
春晓<br />
春眠不觉晓，<br />
处处蚊子咬。<br />
夜来嗡嗡声，<br />
脓包知多少。
<h2>输入格式</h2>

无

<h2>输出格式</h2>

输出题目与诗句，其中题目、每句诗句都要换行。

<h2>样例</h2>
<pre><code class="language-input1">无</code></pre><pre><code class="language-output1">春晓
春眠不觉晓，
处处蚊子咬。
夜来嗡嗡声，
脓包知多少。</code></pre>


---

## CH. 练13.1竖式计算

<h2>说明</h2>

数学老师请你帮忙，在屏幕上输出18+870的竖式计算，试编一程序，实现这个功能。
<h2>输入格式</h2>

无

<h2>输出格式</h2>

18+870的竖式计算。

<h2>样例</h2>
<pre><code class="language-input1">无</code></pre><pre><code class="language-output1">   18
+ 870
-----------
  888</code></pre>


---

## CI. 【例13.3】时间差

<h2>说明</h2>

给出两个时刻，问第一个时刻到第二个时刻需要经过多少秒，并保证 第一个时刻比第二个时刻早。
<h2>输入格式</h2>

输入有两行，第一行开始时间，第二行为结束的时间，时间都由<code>xx:yy:zz</code>表示，<code>xx</code> 表示小时，<code>yy</code> 表示分钟，<code>zz</code> 表示秒。

<h2>输出格式</h2>

只有一个整数，两个时间的差。

<h2>样例</h2>
<pre><code class="language-input1">12:34:56
12:35:00</code></pre><pre><code class="language-output1">4</code></pre>


---

## CJ. 【例13.2】 电子表

<h2>说明</h2>

电子表上的时间显示方法形如<code>xx:xx:xx</code>，现在给出一个时间，单位是秒，要求按照电子表格式输出，输出保证不会超过 $24$ 小时。
<h2>输入格式</h2>

输入一个时间。

<h2>输出格式</h2>

把时间转化成电子表格式输出。

<h2>样例</h2>
<pre><code class="language-input1">3701</code></pre><pre><code class="language-output1">01:01:41</code></pre>


---
