30020

#include <stdio.h>

int main(void){
    // 패티 수, 치즈 수 입력
    int a = 0, b = 0;
    scanf("%d %d", &a, &b);

    // 불가능 조건 
    // 1. 패티가 치즈 수보다 작거나 같을 경우
    // 2. 치즈의 2배가 패티 수보다 작을 경우
    if( (a <= b) || (a > (2*b)) ){
        printf("NO\n");
    }
    // 가능 조건
    else{
        printf("YES\n");
        // 만들 수 있는 버거 개수 구하기
        int gap = a - b;
        int count = 0;
        while(gap != 1){
            count++;
            a -= 2;
            b -= 1;
            gap = a - b;
        }
        // 버거 개수 출력
        printf("%d\n", count+1);

        // 최소 버거 형태 count 만큼 출력
        for(int i = 0; i < count; i++){
            printf("aba\n");
        }

        // 마지막 버거 형태 출력
        while((a != 0) || (b != 0)){
            if(a != 0){
                printf("a");
                a--;
            }
            if(b != 0){
                printf("b");
                b--;
            }
        }
        printf("\n");
    }
    return 0;
}

+ Recent posts