# 李泽霖刷题训练（小白专作）

## A. 求最大数

## 说明

已知有三个不等的数，将其中的最大数找出来。

## 输入格式

输入只有一行，包括3个整数。之间用一个空格分开。

## 输出格式

输出只有一行（这意味着末尾有一个回车符号），包括1个整数。

## 样例


```input1
1 5 8
```

```output1
8
```



---

## B. a*b

# Background

a*b


```input1
3 4
```

```output1
12
```

# Limitation



---

## C. 冰与火

# Background

土拨鼠 乐乐 下载了一个游戏《冰与火》👀️

# Description

游戏是这样的：

给出一张 $n \times m$ 的地图，地图上有冰也有火，每块冰或火在每一个 $1 \times 1$ 的方格中，互不干涉。

现在 乐乐 会被系统随机分配到 $n \times m$ 的地图中的 $(x1,~y1)$ 点上，这个点可能是冰，也可能是火。

乐乐会得到一双靴子，这双靴子可以避免冰和火中其中一者的伤害。具体避免什么取决于这个随机分配的点是冰还是火。

例如下图：

![image](file://Un94x4ZsODIWYaQipxW-O.png)

乐乐 被随机分配到了 $(3,~5)$ 点，那么他就获得到一双可以防火的靴子，他就可以在 $(1,~1),~(1,~6),~(2,~2),~(2,~4),~(2,~7),~(3,~3),~(3,~5),~(3,~6),~(4,~2)$ 点上停留，但其余冰点不可触碰。

游戏规则为可以从当前点出发走向与之相邻的8个点。同时，乐乐 作为新手玩家，系统给予了 乐乐 一个技能 $x$。$x$表示可以从当前点出发，可以走向与当前点的距离等于 $x$ 的点。当然，这些所有的点必须是这双靴子可以免伤的点。

于是，乐乐 可以走到的点分别是（假设当前点为 $(i,~j)$）：

$(i-1,~j-1),~(i-1,~j),~(i-1~j+1),$

$(i,~j-1),~~~~~~~~(i,~j),~~~~~~~~(i,~j+1)$

$(i+1,~j-1),~(i+1,~j),~(i+1,~j+1)$

---

$(i-x,~j-x),~(i-x,~j),~(i-x,~j+x),$

$(i,~j-x),~~~~~~~~~~~~~~~~~~~~~~~~~~~(i,~j+x)$

$(i+x,~j-x),~(i+x,~j),~(i+x,~j+x)$

乐乐 能走到的点为以上点中在地图上的点。

再例如下图：

![image](file://U3ew4Pd9dMkp7jfUYmMad.png)

乐乐 被随机分配到了 $(3,~5)$ 点，他获得到一双可以防火的靴子。若 $x~=~2$，那么他的第一步就可以走到 $(2,~4),~(3,~3)$ 或 $(3,~6)$。

游戏会有一个宝藏藏在 $(x2,~y2)$ 点上。请你告诉乐乐，他能不能走到宝箱。并请你告诉他最短的路径经过了几个点。

# Format

## Input

第1行为7个整数 $n,~m,~x1,~y1,~x2,~y2,~x$。

接下来 $n$ 行，每行 $m$ 个 01 数，表示这张地图。其中 0 表示冰，1 表示火。

## Output

若能走到，输出最短的步数。否则输出 `Oh,poor me!`。

# Samples

```input1
4 7 3 5 1 1 2
1 0 0 0 0 1 0
0 1 0 1 0 0 1
0 0 1 0 1 1 0
0 1 0 0 0 0 0
```

```output1
2
```

【Sample 1】说明：

乐乐 可以按照这样的脚步前进：

![image](file://KDUc4v5nYI90S0EB2s6i7.png)

```input2
5 5 1 1 5 5 2
1 0 0 0 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
1 0 0 0 1
```

```output2
Oh,poor me!
```

# Limitation

对于30%的数据，$n,~m \le 20$；

对于另外20%的数据，$n,~m \le 10^2$；

对于100%的数据，

$n~,m \ge 4$

$1 \leq x1,~x2 \leq n \leq 10^3$

$1 \leq y1,~y2 \leq m \leq 10^3$

$2 \leq x \leq \displaystyle \lfloor \frac{\text {min}(n,~m)}{2} \rfloor$



---

## D. 【例6.2】捡石头

<h2>说明</h2>

幼儿园小朋友昨天捡到3块小石头，想再去捡一块小石头，让这$4$块石头正好一共重$20$斤，请问他应该去捡一块多少斤的石头？

<h2>输入格式</h2>

三个整数 $a$&#44;$b$&#44;$c$，是这三块石头的重量(斤)。($0 < a, b, c, a+b+c≤20$)

<h2>输出格式</h2>

一个整数，是第四块石头的重量(斤)。

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



---

## E. 吕小凝的集合

# Background

吕小凝上高中了，他开始学集合，但他遇到了一道难题，你能帮帮她吗？？？

# Description

给你两个集合，求出他们的交集或并集。

## Input

两个集合

## Output

第一行是集合A的个数，
第二行是集合A，
第三行是集合B的个数，
第四行是集合B，
第五行是交还是并。

# Samples

```input1
9
123456789
3
123
交集
```

```output1
123
```

# Limitation

1s, 1024KiB for each test case.



---

## F. 入门

# 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. 唱跳rap打篮球（测试题）（测试成功）

# 背景

北北是一只善于观察的土拨鼠。
最近cxk在他们班火了，他想知道今天一共有多少同学在讨论cxk，请你帮帮他。

# 题目描述

北北发现，所有今天讨论cxk的同学可以分成：讨论“唱rap”、“跳rap”和“打篮球”3个讨论组。

# 要求

###### 注意：班长也讨论了cxk，但他分别统计3个组的时候，忘了统计上自己，所以输入里没有班长的编号，但班长也得算在输出里。

## 输入

一共3行，每行开头一个整数n（这个组的人数），后面有n个整数（这个组的所有同学的编号）。（第一行代表1组的情况；第二行代表2组的情况；第三行代表3组的情况）

## 输出

一个整数，代表今天一共有多少同学讨论了cxk。

# 样例

```input1
4 1 2 3 4
4 2 3 4 5
4 3 4 5 6
```

```output1
7
```

## 解释：

1组有4个同学讨论cxk：1、2、3、4；
1组有4个同学讨论cxk：2、3、4、5；
1组有4个同学讨论cxk：3、4、5、6；

所以，今天一共有7个同学讨论了cxk。（1号、2号、3号、4号、5号、6号和班长）

# 范围

0<=n<=100，1<=其它的数<=10的8次方
（第一次出题，数据很水勿喷：前两个测试数据是手动出的，其他的都是程序出的随机数。）

1s, 256MB.
（我的天，我试了好几个周，终于试好了）



---

## H. 土拨鼠绕迷宫

# 故事背景

土拨鼠稀里糊涂地走进了一个 $n * n$ 的且仅由0和1组成的矩阵迷宫的左上角，这时，土拨鼠身后的门突然封闭起来了。

这时，一艘外星飞船从天而降，对土拨鼠说：“现在你已经到了矩阵迷宫的左上角，你需要在这个矩阵中蛇形的绕圈寻找所有的1。最后以你走过的路径展开，得到一个由01组成的二进制序列。接下来你需要将这个二进制序列转为十进制。如果这个十进制数能被你刚所找到的1的个数整除，则你可以离开迷宫。否则就永远别想出去了。”

现在外星飞船从迷宫上空拍下迷宫的全貌并发给你，请你编程计算一下土拨鼠能否顺利逃出。

# 题目描述

给定一个 $n * n$ 的正方形01矩阵，请你按照蛇形将矩阵变为一个二进制数并转为十进制。同时你还要找到矩阵中1的个数。如果十进制数能整除1的个数，则输出``y``，否则输出``n``.

将以下矩阵展开

```
0 1 0 1
1 0 1 1
0 0 1 0
1 0 0 1
```

得到二进制数```0101110100101001```

转为十进制是```23849```

矩阵中有```8```个1

```23849```不能整除```8```

所以这个矩阵土拨鼠不能逃出

# 输入格式

第一行包含一个整数 $t(3 \le t \le 20)$, 表示共有多少组测试数据

第二行包含1个整数 $n(3\leq n\leq 8)$，表示矩阵的高和宽。

接下来输入一个矩阵（带空格），且矩阵中只有0和1。

# 输出格式

输出t行数据, 判断土拨鼠能否顺利逃出这个矩阵。能则输出```y```，不能则输出```n```。

# 样例

```input1
1
4
0 1 0 1
1 0 1 1
0 0 1 0
1 0 0 1
```

```output1
n
```

23849 % 8 = 1

```input2
2
2
1 1
0 0
4
0 1 0 1
1 0 1 1
0 0 1 0
1 0 0 1
```

```output2
y
n
```

12 % 2 = 0

23849 % 8 = 1

# 提示

蛇形展开：

![image](file://778k5XQX-mh1Bb7aa7JKo.png)



---

## I. 数字

给你一个 $n$，我们找到最少的数，其中的一部分或者全部加起来能组成 $1$ ~ $n$ 里的所有数字。

其中数字选的时候可以重复，但使用的时候不能重复。

给你 $n$ 求一共需要多少个数。

**有多组测试数据。**

第一行一个整数 $T$ 表示有 $T$ 组数据。
第 $2$ 到 $T+1$ 行，每行一个整数表示 $n$。

$T$ 行，每行一个整数，表示答案

### input

```
2
6
2
```

### output

```
3
2
```

对于第一个样例，取数组为 $[1,2,3]$，那么：

$1 = 1$
$2 = 2$
$3 = 3$
$4 = 1 + 3$
$5 = 2+3$
$6=2+3+1$

对于第二组样例，取数组为 $[1, 1]$。
那么：

$1 = 1$
$2 = 1 + 1$

对于 $30$% 的数据 $1 \le T \le 10$
对于所有的数据: $1\le T \le 10^3,1 \le n \le 10^9$



---

## J. 大力土拨鼠

# Background

土拨鼠获得了大力丸，请你帮他算出它现在的力气

# Description

已知大力丸有n个，每个大力丸功效（m）不一样，请将每个大力丸的功效输入进来，并算出现在土拨鼠的力气。

（土拨鼠的力气=大力丸功效m*土拨鼠原本力气x/1.5并全部相加）

# Format

## Input

2行
第一行为一个整数n与与整数x
第二行为n个整数即大力丸功效m

## Output

1个，即大力丸现在功效

# Samples

```input1
5 3
2 3 5 5 4
```

```output1
38
```

# Limitation

1s, 1024KiB for each test case.



---

## K. 【例8.2】成绩

<h2>说明</h2>

牛牛最近学习了 C++入门课程，这门课程的总成绩计算方法是：<br />
总成绩 = 作业成绩×$20$%+小测成绩×$30$%+期末考试成绩×$50$%<br />
牛牛想知道，这门课程自己最终能得到多少分。
<h2>输入格式</h2>

只有 1 行，包含三个非负整数$A$、$B$、$C$，分别表示牛牛的作业成绩、小测成绩和期末考试成绩。相邻两个数之间用一个空格隔开，三项成绩满分都是 $100$ 分。$0 ≤ A、B、C ≤ 100$ 且 $A$、$B$、$C$ 都是 $10$ 的整数倍。

<h2>输出格式</h2>

只有 1 行，包含一个整数，即牛牛这门课程的总成绩，满分也是$100$ 分。

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


---
