【ACWing】146. 序列

您所在的位置:网站首页 acwing算法视频 【ACWing】146. 序列

【ACWing】146. 序列

2023-06-27 04:46| 来源: 网络整理| 查看: 265

题目地址:

https://www.acwing.com/problem/content/description/148/

给定 m m m个序列,每个包含 n n n个非负整数。现在我们可以从每个序列中选择一个数字以形成具有 m m m个整数的序列。很明显,我们一共可以得到 n m n^m nm个这种序列,然后我们可以计算每个序列中的数字之和,并得到 n m n^m nm个值。现在请你求出这些序列和之中最小的 n n n个值。

输入格式: 第一行输入一个整数 T T T,代表输入中包含测试用例的数量。 接下来输入 T T T组测试用例。 对于每组测试用例,第一行输入两个整数 m m m和 n n n。 接下在 m m m行输入 m m m个整数序列,数列中的整数均不超过 10000 10000 10000。

输出格式: 对于每组测试用例,均以递增顺序输出最小的 n n n个序列和,数值之间用空格隔开。每组输出占一行。

数据范围: 0 < m ≤ 1000 0 return p1.sum > p2.sum; }; int main() { int T; scanf("%d", &T); while (T--) { scanf("%d%d", &m, &n); int sum = 0; for (int i = 1; i priority_queue heap(comp); memset(vis, 0, sizeof(vis)); heap.push({1, 1, a[1][1] + a[i][1]}); for (int j = 1; j heap.push({y1 + 1, y2, a[1][y1 + 1] + a[i][y2]}); vis[y1 + 1][y2] = true; } if (y2 + 1 y1, y2 + 1, a[1][y1] + a[i][y2 + 1]}); vis[y1][y2 + 1] = true; } } for (int j = 1; j



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3