华为OD机试真题-矩阵匹配-2024年OD统一考试(C卷)

题目描述:

从一个N*M(N<=M)的矩阵中选出N个数,任意两个数字不能在同一行或同一列,求选出来的N个数中第K大的数字的最小值是多少。

输入描述:

输入矩阵要求:1<=K<=N<=M<=150

输入格式:N M K

                  N*M矩阵

输出描述:

N*M的矩阵中可以选出M!/N!种组合数组,每个组合数组中第K大的数中的最小值。无需考虑重复数字,直接取字典排序结果即可。

补充说明:注意:结果是第K大的数字的最小值

示例1

输入:3 4 2

         1 5 6 6 

         8 3 4 3

         6 8 6 3

输出:3

说明:N*M的矩阵中可以选出M!/N!种组合数组,每个组合数组中第K大的数中的最小值;上述输入中选出的数组组合为1,3,6; 1,3,3; 1,4,8; 1,4,3;......上述输入样例中选出的组合数组有24种,最小数组为1,3,3,则2大的最小值为3

解题思路:考察对二分查找、DFS搜索的理解和运用。 

C++解法: 

#include <iostream>
#include <vector>
#include <a

最近更新

  1. TCP协议是安全的吗?

    2024-02-22 17:00:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-22 17:00:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-22 17:00:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-22 17:00:03       20 阅读

热门阅读

  1. 高防服务器和高防CDN有哪些区别?

    2024-02-22 17:00:03       26 阅读
  2. 小程序API能力汇总——基础容器API(四)

    2024-02-22 17:00:03       33 阅读
  3. 干货——使用alzet渗透泵的注意事项

    2024-02-22 17:00:03       32 阅读
  4. C#中“ref“关键字的使用

    2024-02-22 17:00:03       28 阅读
  5. CSS :has() 能解决什么问题?

    2024-02-22 17:00:03       26 阅读
  6. 文生视频Sora

    2024-02-22 17:00:03       30 阅读