AOJ 0285 - Tennis

やるだけ.

解法

言われたとおりに書く.再帰で書くときはAを優先することに注意する.
あとは慈愛で通りそう.

コード

#include <iostream>

int J, Y;

void rec(int j, int y, std::string s){
    if(j == J && y == Y){
        std::cout << s << std::endl;
        return;
    }

    if(j == 5 && y == 5){return;}
    if(j <= 3 && y == 5){return;}
    if(j == 5 && y <= 3){return;}

    if(j+1 <= J){rec(j+1, y, s+'A');}
    if(y+1 <= Y){rec(j, y+1, s+'B');}
}

int main(){
    std::cin >> J >> Y;

    rec(0, 0, "");
}