BOJ 2448 별 찍기 - 11
1116 단어 2021.01.192021.01.19
https://www.acmicpc.net/problem/2448
시간 1초, 메모리 256MB
input :
- N(N = 3×2^k (3, 6, 12, 24, 48, ...)) (0 ≤ k ≤ 10, k는 정수)
output :
- N번째 줄까지 별을 출력
별을 지우는 방식으로 시작하고 있었는데... x, y의 위치를 지정하지 않고 하다가 실패했다.
x, y의 위치 부터 찾은 다음 n이 3이 될 때까지 동일한 3개의 화면으로 계속 분할 하는것이 맞다.
import sys
n = int(sys.stdin.readline())
graph = [[" "] * (2 * n - 1) for i in range(n)]
def star(x, y, n):
if n == 3:
graph[x][y] = '*'
graph[x + 1][y - 1] = '*'
graph[x + 1][y + 1] = '*'
graph[x + 2][y - 2] = '*'
graph[x + 2][y - 1] = '*'
graph[x + 2][y] = '*'
graph[x + 2][y + 1] = '*'
graph[x + 2][y + 2] = '*'
else:
star(x + n // 2, y - n // 2, n // 2)
star(x + n // 2, y + n // 2, n // 2)
star(x, y, n // 2)
star(0, n - 1, n)
for i in range(len(graph)):
print("".join(graph[i]))
Author And Source
이 문제에 관하여(BOJ 2448 별 찍기 - 11), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jsin2475/BOJ-2448-별-찍기-11저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)