华为OD机试- 乘坐保密电梯

714 阅读1分钟

有一座保密大楼,你从0楼到达指定楼层m,必须这样的规则乘坐电梯:给定一个数字序列,每次根据序列中的数字n上升n层或者下降n层,前后两次操作的方向必须相反,规定首次的方向向上,自行组织序列的顺序按规定操作到达指定楼层。求解到达楼层的序列组合,如果不能到达楼层,给出小于该楼层的最近序列组合。

说明:

操作电梯时不限定楼层范围

必须对序列中的每个项进行操作,不能只使用一部分。

输入描述:

第一行: 期望的楼层,取值范围[1,50]; 序列总个数,取值范围[1,23]

第二行: 序列,每个值取值范围[1,50]

输出描述

能够达到楼层或者小于该楼层最近的序列

补充说明:

操作电梯时不限定楼层范围

必须对序列中的每个项进行操作,不能只使用一部分

示例1

输入:

5 3

1 2 6

输出:

6 2 1

说明:

1 2 6

6 2 1均为可行解,按先处理大值的原则结果为6 2 1

Java 实现:2023华为od机试【乘坐保密电梯】Java

Python实现:2023华为od机试【乘坐保密电梯】Python

C++ 实现:2023华为od机试【乘坐保密电梯】C++

JavaScript实现:2023华为od机试【乘坐保密电梯】JavaScript

C实现:2023 华为OD机试(C语言)真题【A卷+B卷】