从 n 个互不相等的数中,选出 r 个数的组合,请问有哪些不同的选法,按照字典码的顺序,输出这些选出的数,每组数输出时要求按照从小到大的顺序输出。
比如,假设有 5 个数分别是 1 2 3 4 5 ,从中选出 3 个数的组合有:
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
第 1 行输入两个整数 n(3≤n≤20)和 r(1≤r≤n);
第 2 行输入 n 个整数,数字之间用空格隔开,请注意:输入的n个整数不保证是有序的。
输出若干行,每行有 r 个数,用空格隔开。
5 3 2 3 5 1 4
1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5
【注意】
本题C++选手请使用scanf
、printf
替代 cin
、cout
提升读写效率;
深搜