天天看點

2018小紅書筆試題第二題

package RedBook;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main2 {
    public void solve(int a,int b,int n){
        List<String> res=new ArrayList<>();
        bfs(a,b,false,n,"",res);
        for(int i=0;i<res.size();i++){
            System.out.println(res.get(i));
        }
    }

    public void bfs(int a,int b,boolean d,int n,String cur,List<String> res){
        if(a==0 && cur.length()==n){
            res.add(cur);
            return;
        }
        if(cur.length()<n && !d){
            bfs(a,b,true,n,cur+'d',res);
        }
        if(b>0 && cur.length()<n)
            bfs(a,b-1,false,n,cur+'e',res);
        if(a>0 && cur.length()<n)
            bfs(a-1,b,false,n,cur+'r',res);
    }

    public static void main(String[] args){
        Main2 s=new Main2();
        Scanner in=new Scanner(System.in);

        while(in.hasNext()){
            int a=in.nextInt();
            int b=in.nextInt();
            int n=in.nextInt();
            s.solve(a,b,n);
        }

    }

}