跳到主要内容
入门 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

本题最近提交

暂无提交
提交代码