ascode 1303 커피나무 심기

1 분 소요

문제 설명

농부 주형이의 커피 농장은 정사각형(N x N) 모양이다. 이 농장을 관리하는 주형이는 지루해진 나머지 자신의 커피 농장임을 알리기 위해 다른 종류의 커피를 일정한 모양으로 심어 예술성 있는 농장을 만들려고 한다. 현재 주형이가 가지고 있는 9가지 커피 종류 별로 아래의 종류에 따른 순서대로 가장 바깥 부분부터 1미터씩 정사각형 형태로 커피 나무를 심으려고 한다. 농장의 크기가 정수 단위로 주어질 경우 크기에 맞게 1미터씩 서로 다른 나무를 심어 나가면 어떠한 모양이 될지를 예상할 수 있는 그림을 그려보자.

Arabica, Bourbon, Canephora, Gesha, Java, Liberica, Mocha, Pacamara, Typica

입력 설명

첫 줄에는 테스트 케이스의 수T가 입력된다(1 <= T <= 10). 테스트 케이스 수만큼 대해 농장의 크기N (1 <= N <= 18) 이 주어진다.

출력 설명

테스트 케이스 별로 농장에 심어야 할 커피 종류의 첫 글자(대문자)를 규칙에 맞는 모양으로 출력한다.
각 테스트 케이스의 결과들 사이에는 한 줄을 띄우도록 한다.

입력 예시

2
3
6

출력 예시

AAA
ABA
AAA

AAAAAA
ABBBBA
ABCCBA
ABCCBA
ABBBBA
AAAAAA

#코드

#include<stdio.h>
 
int main() {
    int a, c, x, v;
    scanf("%d", &a);
    for (int i = 0; i < a; i++) {
        int arr[20][20] = { 0, };
        int save[10] = { 'A','B','C', 'G', 'J', 'L','M','P','T' };
        int d = -1;
        scanf("%d", &c);
 
        for (int y = 0; y < c; y++)
        {
            for (x = 0; x < c; x++)
            {
                if (x <= c / 2 && x <= y) {
                    d++;
                }
                arr[y][x] = save[d];
            }
            d = -1;
        }
 
        d = 0;
        for (int y = 0; y < c; y++)
        {
            for (x = 0; x < c; x++) {
                if (x < c - d) {
                }
                else {
                    arr[y][x] = arr[c - y - 1][c - x - 1];
                }
            }
            d++;
        }
 
        d = 0;
 
        for (int y = 0; y < c; y++)
        {
            for (x = 0; x < c; x++)
            {
                printf("%c", arr[y][x]);
            }
            printf("\n");
        }
        printf("\n");
 
    }
}

댓글남기기