# 11.8 

> **作业来源**：[EngeekerOJ 作业](https://gdengeeker.com/homework/6aeee6d97d3117c857ff3eb7)（作业 ID：`6aeee6d97d3117c857ff3eb7`）
> **布置班级**：26秋周日CPP七班
> **起止时间**：2026-11-08 00:00 ～ 2026-11-16 23:59（北京时间）
> **罚时规则**：逾期 1 天内得 90%，3 天内 80%，12 天内 75%，之后 50%

---

## 题目 1：补齐校验位（#5198）

- **标签**：GESP一级 ｜ 自编模拟 ｜ 循环 ｜ 数位 ｜ 求余
- **限制**：时间 1000ms ｜ 内存 256MB

## 题目描述

图书角准备给每本书生成一个校验位。

已知一本书的编号为非负整数 $n$，需要为它选出一个 $0$ 到 $9$ 之间的整数 $c$。要求：**编号 $n$ 的各个十进制数位上的数字之和，再加上 $c$，所得结果能被 $10$ 整除。**

例如，编号为 $507$ 时，各位数字之和为 $5+0+7=12$。选择 $c=8$，便有 $12+8=20$，能被 $10$ 整除。

请输出满足条件的校验位 $c$。对于任何合法输入，这样的 $c$ 都存在且唯一。

## 输入格式

输入一行，一个非负整数 $n$。输入没有多余的前导零；整数 $0$ 的十进制表示为 `0`。

## 输出格式

输出一行，一个 $0$ 到 $9$ 之间的整数，表示校验位。

只输出校验位，不输出原编号，也不把校验位拼接到原编号后。

## 样例

```input1
507
```

```output1
8
```

```input2
19
```

```output2
0
```

```input3
0
```

```output3
0
```

## 样例解释

样例 2：$1+9=10$ 已经能被 $10$ 整除，校验位为 $0$。

样例 3：$0$ 能被 $10$ 整除。

## 数据规模与约定

对于所有测试数据，$0\le n\le1000000000$。

---

━━━━━━━━━━━━━━━━━━━━ 第 1 题 · 完 ━━━━━━━━━━━━━━━━━━━━

## 题目 2：奇偶数位之和（#4425）

- **标签**：（无）
- **限制**：时间 1000ms ｜ 内存 256MB

## 题目描述

给定一个正整数 $n$，请你分别求出 $n$ 的**偶数数位**之和与**奇数数位**之和。

例如，$n = 50724$：

- 偶数数位有：$0$、$2$、$4$，它们的和是 $0 + 2 + 4 = 6$；
- 奇数数位有：$5$、$7$，它们的和是 $5 + 7 = 12$。

注意：偶数数位是指数字本身是偶数（$0, 2, 4, 6, 8$），奇数数位是指数字本身是奇数（$1, 3, 5, 7, 9$）。

## 输入格式

一行，一个正整数 $n$（$1 \le n \le 10^9$）。

## 输出格式

一行，两个整数，用空格分隔：第一个是偶数数位之和，第二个是奇数数位之和。

## 样例

```input1
50724
```

```output1
6 12
```

## 数据范围

| 数据点 | $n$ 的范围 | 特殊性质 |
|--------|-----------|----------|
| $1$ | 样例 | $n = 50724$ |
| $2 \sim 4$ | $n < 10$ | 单个数位（偶数 / 奇数 / 最小值） |
| $5 \sim 6$ | $n \le 10^5$ | 全偶数数位 / 全奇数数位 |
| $7 \sim 8$ | $n \le 10^7$ | 混合数位 |
| $9 \sim 10$ | $n \le 10^9$ | 八位 / 九位大数 |

对于 $100\%$ 的数据，$1 \le n \le 10^9$。

---

━━━━━━━━━━━━━━━━━━━━ 第 2 题 · 完 ━━━━━━━━━━━━━━━━━━━━

## 题目 3：反转整数（#4431）

- **标签**：（无）
- **限制**：时间 1000ms ｜ 内存 256MB

## 题目描述

给定一个正整数 $n$，请你将 $n$ 的各位数字翻转后输出。

例如，$n = 12030$：

- 各位数字依次是 $1, 2, 0, 3, 0$；
- 翻转后得到 $03021$，去掉前导零得到 $3021$。

注意：结果中不应有前导零。

## 输入格式

一行，一个正整数 $n$（$1 \le n \le 10^9$）。

## 输出格式

一行，一个整数，表示 $n$ 翻转后的结果。

## 样例


```input1
12030
```


```output1
3021
```

## 数据范围

| 数据点 | $n$ 的范围 | 特殊性质 |
|--------|-----------|----------|
| $1$ | 样例 | $n = 12030$ |
| $2 \sim 3$ | $n < 10$ | 单个数位 |
| $4$ | $n \le 10^5$ | 无末尾零 |
| $5 \sim 7$ | $n \le 10^3$ | 末尾带零 |
| $8 \sim 9$ | $n \le 10^9$ | 大数 / 回文数 |
| $10$ | $n = 10^9$ | 最大值 |

对于 $100\%$ 的数据，$1 \le n \le 10^9$。

---

━━━━━━━━━━━━━━━━━━━━ 第 3 题 · 完 ━━━━━━━━━━━━━━━━━━━━

## 题目 4：交错数位和（#4450）

- **标签**：（无）
- **限制**：时间 1000ms ｜ 内存 256MB

## 题目描述

给定一个正整数 $n$，请你从个位开始，按"加、减、加、减……"的规律，把每一位数字相加，得到交错数位和。

具体来说：

- 个位数字：**加**；
- 十位数字：**减**；
- 百位数字：**加**；
- 千位数字：**减**；
- ……以此类推。

例如，$n = 5382$：

- 个位 $2$：加 $2$，和 $= 2$；
- 十位 $8$：减 $8$，和 $= 2 - 8 = -6$；
- 百位 $3$：加 $3$，和 $= -6 + 3 = -3$；
- 千位 $5$：减 $5$，和 $= -3 - 5 = -8$。

所以结果为 $-8$。

## 输入格式

一行，一个正整数 $n$（$1 \le n \le 10^9$）。

## 输出格式

一行，一个整数（可能为负数、零或正数），表示交错数位和。

## 样例

### 样例输入 #1

```
5382
```

### 样例输出 #1

```
-8
```

## 数据范围

| 数据点 | $n$ 的范围 | 特殊性质 |
|--------|-----------|----------|
| $1$ | 样例 | $n = 5382$ |
| $2 \sim 3$ | $n < 10$ | 单个数位 |
| $4 \sim 5$ | $n < 100$ | 两位数（正结果 / 负结果） |
| $6$ | $n = 9999$ | 结果为零 |
| $7 \sim 9$ | $n \le 10^5$ | 多位数 |
| $10$ | $n = 10^9$ | 最大值 |

对于 $100\%$ 的数据，$1 \le n \le 10^9$。

## 说明/提示

**提示**：本题主要考察 `while` 循环逐位拆分整数与符号交替切换，适合 GESP 一级水平。

典型的解题模式：

```cpp
int n;
cin >> n;
int sum = 0, sign = 1;
while (n > 0) {
    sum += sign * (n % 10);
    sign = -sign;
    n /= 10;
}
cout << sum << endl;
```

---

━━━━━━━━━━━━━━━━━━━━ 第 4 题 · 完 ━━━━━━━━━━━━━━━━━━━━

## 题目 5：小硬壳读懂潮汐日历（#4653）

- **标签**：GESP一级
- **限制**：时间 1000ms ｜ 内存 256MB

## 题目描述
每月的航行日历送到潮汐站时，只留下月份和日期，季节栏被海风吹走了。小硬壳要根据月份把这一天放回春、夏、秋、冬四本值班表；同一本表中的日期不需要再做其他处理。

月份决定季节：年末的 12 月和年初的 1、2 月属于同一季节。控制台只读取月份来分表，日期仍作为日历上的附带信息保留。

## 输入格式
输入一行，包含两个整数 $m$、$d$，表示月份和日期。

## 输出格式
3、4、5 月输出 `spring`；6、7、8 月输出 `summer`；9、10、11 月输出 `autumn`；12、1、2 月输出 `winter`。

## 数据规模与约定
$1\le m\le 12$，$1\le d\le 31$，且日期合法。

## 样例

```input1
2 18
```

```output1
winter
```

---

━━━━━━━━━━━━━━━━━━━━ 第 5 题 · 完 ━━━━━━━━━━━━━━━━━━━━

## 题目 6：小硬壳记录海雾能见度（#4652）

- **标签**：GESP一级
- **限制**：时间 1000ms ｜ 内存 256MB

## 题目描述
小硬壳准备驶过海雾区。观测员给出能见距离 $d$（米）和降雨标记 $r$：$r=0$ 表示没有降雨，$r=1$ 表示正在降雨。只有能见距离达到 800 米并且没有降雨，船才可以按计划出航。

若不能满足出航条件，但能见距离仍达到 400 米，船只能减速通过；连这个距离也达不到，就必须停船。降雨只会影响能否直接出航，减速条件仍按能见距离判断。

## 输入格式
输入一行，包含整数 $d$ 和 $r$。

## 输出格式
若 $d\ge800$ 且 $r=0$，输出 `go`；否则若 $d\ge400$，输出 `slow`；其余情况输出 `stop`。

## 数据规模与约定
$0\le d\le 2000$，$r\in\{0,1\}$。

## 样例

```input1
650 1
```

```output1
slow
```
