Run ID 作者 问题 语言 测评结果 时间 内存 代码长度 提交时间
58735 teacher_wang 排队 C++ 解答错误 4 MS 260 KB 1006 2024-12-15 12:47:25

Tests(1/2):


#include <iostream> #include <vector> #include <algorithm> int main() { int n, k; std::cin >> n >> k; // 创建一个包含1到n的序列 std::vector<int> seq(n); for (int i = 0; i < n; ++i) { seq[i] = i + 1; } // 只对前k个元素进行排列(但这里我们实际上对整个序列进行了排列,然后只输出前k个元素) // 注意:这种方法在n很大而k很小的时候不是最高效的,因为它生成了所有n!的排列 // 但对于理解next_permutation的用法和演示目的来说,这是可以的 // 对序列进行排序,以确保我们从字典序最小的排列开始 std::sort(seq.begin(), seq.end()); do { // 只输出前k个元素作为当前排列 for (int i = 0; i < k; ++i) { std::cout << seq[i] << " "; } std::cout << std::endl; } while (std::next_permutation(seq.begin(), seq.end())); return 0; }


测评信息:

输入

                    

输出

                    

答案

                    

系统信息

exit code: 0, checker exit code: 0

输入

5 3

输出

1 2 3 
1 2 3
1 2 4
1 2 4
1 2 5
1 2 5
1 3 2
1 3 2
1 3 4
1 3 4
1 3 5
1 3 5
1 4 2
1 4 2
1 4 3
1 4 3
1 4 5
1 4 5
1 5 2
1 5 2
1 5 3
1 5 3
1 5 4
1 5 4
2 1 3
2 1 3
2 1 4
2 1 4
2 1...

答案

1 2 3 
1 2 4
1 2 5
1 3 2
1 3 4
1 3 5
1 4 2
1 4 3
1 4 5
1 5 2
1 5 3
1 5 4
2 1 3
2 1 4
2 1 5
2 3 1
2 3 4
2 3 5
2 4 1
2 4 3
2 4 5
2 5 1
2 5 3
2 5 4
3 1 2
3 1 4
3 1 5
3 2 1
3 2...

系统信息

exit code: 0, checker exit code: 0