AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P2567. 商品推荐多属性排序

中等通过率 78% · 提交 112 · 通过 87
排序模拟构造

小慕在开发一个购物平台的商品排序功能时,遇到了一个难题。平台上的坚果商品页面默认按综合推荐列表展示,小慕想弄清楚这个综合排序的实现逻辑,于是开始设计一个多关键字排序算法。现在,小慕需要你提供一份正确的排序结果,来验证他实现的算法是否准确。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行两个整数n,m (m <= 10, n <= 100000),分别表示有n个需要排序的商品。每个商品有m个属性。 第二行m个整数(均为1或者-1),每个整数表示第i个属性按照降序(1)或者升序(-1),依次按照属性1-m排序。 接下来n行,每行m个整数,表示每个商品的m个属性。

输出描述

输出排序后的结果

示例

示例 1

输入

4 3
1 -1 1
2 2 2
2 3 3
4 4 4
4 4 5

输出

4 4 5
4 4 4
2 2 2
2 3 3

说明:商品评价属性相同时,按照下个属性维度排序。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
多属性排序示例 商品 属性1 属性2 属性3 排序规则 A 2 2 2 降序 B 2 3 3 降序 C 4 4 4 降序 D 4 4 5 降序 排序规则:属性1降序,属性2升序,属性3降序 排序后: D (4,4,5) → C (4,4,4) → A (2,2,2) → B (2,3,3) 说明:先比属性1降序,4>2;属性1相同则比属性2升序,4=4;属性2相同则比属性3降序,5>4
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「商品推荐多属性排序」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。