#55523: C++ DFS 排列經典題


61247091s@gapps.ntnu.edu.tw (wei)


用DFS思路下去解
 
 
 
#include <bits/stdc++.h>
using namespace std;

int si,li;
vector <char> v;

void dfs(int s,int l){
    if(s<0||l<0)return;
    if(v.size()==si+li){
        for(int i=0;i<v.size();i++) cout<<v[i];
        cout<<endl;
        return;}

    v.push_back('S');
    dfs(s-1,l);
    v.pop_back();

    v.push_back('L');
    dfs(s,l-1);
    v.pop_back();

    return;
}

int main(){
    while(cin>>si>>li){
    v.clear();
    dfs(si,li);
    cout<<endl;
    }

    return 0;
}