提交时间:2024-08-21 19:04:12

运行 ID: 50401

#include<bits/stdc++.h> using namespace std; int n,m; vector<string>p; vector<int>u; void backtracking(const vector<string>&s,int start){ if(p.size()==m){ for(int i=0;i<m;i++){ cout<<p[i]<<" "; } cout<<endl; return; } for(int i=start;i<s.size();i++){ if(u[i]==0){ u[i]=1; p.push_back(s[i]); backtracking(s,i+1); u[i]=0; p.pop_back(); } } } int main(){ cin>>n>>m; vector<string>s(n); u.resize(n,0); for(int i=0;i<n;i++){ cin>>s[i]; } backtracking(s,0); }