求助站外题
  • 板块题目总版
  • 楼主封禁用户
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/18 09:39
  • 上次更新2024/5/18 11:48:18
查看原帖
求助站外题
1001535
封禁用户楼主2024/5/18 09:39

题目传送门。

为啥这 4040 分?

#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;
}

2024/5/18 09:39
加载中...