https://www.acmicpc.net/problem/2448
시간 1초, 메모리 256MB
input :
output :
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]))