跳到主要内容
入门 NOI C++17

P1004 寻找广义山形数

运行 1000ms 内存 128MB 编译 15000ms 提交 0 AC 0
提交代码
## 题目描述

“山形数”指的是一个数字,它的各位数字就像一座山一样,先严格上升,到达一个“顶峰”后严格下降。

具体来说,一个正整数被称为“广义山形数”,必须同时满足以下条件:

1. 该数至少包含 $3$ 位数字;
2. 从最高位开始,数字严格递增,直至某一位(顶峰)。顶峰不能是首位,也不能是末位;
3. 从顶峰开始,数字严格递减,直至个位。

例如:

* `13542` 是山形数($1 < 3 < 5 > 4 > 2$,顶峰为 $5$);
* `120` 是山形数($1 < 2 > 0$,顶峰为 $2$);
* `1210` 是山形数($1 < 2 > 1 > 0$,顶峰为 $2$)。

但是:

* `1221`(存在相邻位相等,不严格增减)、`123`(一直上升,没有下降)、`321`(一直下降,没有上升)、`13435`(有多个起伏波动)都**不是**山形数。

请编写程序,找出给定区间内的所有广义山形数。

## 输入格式

一行,包含两个由空格分隔的正整数 $L$ 和 $R$,表示需要查找的区间 $[L, R]$。

## 输出格式

从小到大输出区间 $[L, R]$ 内所有的广义山形数,每行输出 $1$ 个。
如果该区间内没有任何广义山形数,请输出 `None`。

## 输入输出样例 #1

### 输入 #1

```
100 132

```

### 输出 #1

```
120
121
130
131
132

```

## 输入输出样例 #2

### 输入 #2

```
10 99

```

### 输出 #2

```
None

```

## 说明/提示

对于 $100\%$ 的数据,保证 $1 \le L \le R \le 10^6$,且 $R - L \le 10^4$。

测试样例

复制样例,在本地运行代码时快速验证。

输入

100 132

输出

120
121
130
131
132

本题最近提交

暂无提交
提交代码