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