题目描述
小艺师从鬼画符门派,由于学艺不精只能画点点大阵。 一天师父要求小艺画多重点点大阵,师父会将1重的点点大阵给小艺,小艺如果需要完成2重的点点大阵,那么她需要将1重点点大阵看作一个整体作为一重点点大阵中的一点。小艺想让你帮忙先画一个。
输入描述:
输入点点大阵的边长a,点点大阵的层数n。(1<=a^n<=1000) 以下a行每行输入a个字符‘*’或‘ ’。
输出描述:
输出点点大阵。
示例
输入
3 2
***
*
***
输出
*********
* * *
*********
***
*
***
*********
* * *
*********
class Solution:
def __init__(self) -> None:
pass
def solution(self, a, n, vector):
result = []
for i in range(0, n-1):
result = []
m = len(vector)
sum_max_row = 0
for i in range(0, len(vector)):
if sum_max_row <= len(vector[i]):
sum_max_row = len(vector[i])
# print(vector)
for x in range(0, m*a):
row_x = x%m
count_x = int(x/a)
sum_current_row = len(vector[count_x])
# print("sum_current_row="+str(sum_current_row))
result_per_row = ""
for y in range(0, sum_current_row * a):
if sum_current_row==1:
col_y = y
else:
col_y = y%sum_current_row
try:
result_per_row = result_per_row + vector[row_x][col_y]
except:
if y<= sum_current_row*a-3:
result_per_row = result_per_row + " "
else:
pass
result.append(result_per_row)
vector = result
# print(result)
return result
if __name__ == "__main__":
arr_temp = [int(item) for item in input().strip().split()]
a = int(arr_temp[0])
n = int(arr_temp[1])
vector = []
for i in range(a):
vector.append(input().strip())
sol = Solution()
result = sol.solution(a, n, vector)
print("\n".join('%s' %w for w in result))
通过率 10%,主要是不理解边长为2,3层点点大阵应该怎么排布