为啥这 40 分?
#include <bits/stdc++.h>
using namespace std;
int n, k;
int a[17], use[17];
string s[17];
void dfs(int pos) {
if (pos > k) {
for (int i = 1; i <= k; i++)
cout << s[a[i]] << ' ';
cout << endl;
return;
}
for (int i = a[pos - 1] + 1; i <= n; i++) {
if (use[i] == 0) {
use[i] = 1;
a[pos] = i;
dfs(pos + 1);
use[i] = 0;
}
}
}
int main() {
cin >> n >> k;
for (int i = 1; i <= n; i++) cin >> s[i];
dfs(1);
return 0;
}