|
|
|
|
讨论 Discussion |
|
| |
1554答案 |
#include <bits/stdc++.h>
using namespace std;
freopen("1554.in","r",stdin);
freopen("1554.out","w",stdout);
void printCombinations(int n, int r) {
vector<int> comb(r);
for (int i = 0; i < r; ++i) {
comb[i] = i + 1;
}
while (true) {
for (int i = 0; i < r; ++i) {
if (i != 0) cout << " ";
cout << comb[i];
}
cout << endl;
int pos = r - 1;
while (pos >= 0 && comb[pos] == n - r + pos + 1) {
--pos;
}
if (pos < 0) break;
++comb[pos];
for (int i = pos + 1; i < r; ++i) {
comb[i] = comb[i - 1] + 1;
}
}
}
int main() {
int n, r;
cin >> n >> r;
printCombinations(n, r);
fclose(stdin);
fclose(stdout);
return 0;
}
( ) |
|
|
|
|
|
|
|
|
|
Flag |
|
题号 |
P1000 |
|
其它 |
通过 |
399人 |
提交 |
3310次 |
通过率 |
12% |
难度 |
0 |
|
|
|
|
|
|