试题编号: | 201503-1 |
试题名称: | 图像旋转 |
时间限制: | 5.0s |
内存限制: | 256.0MB |
问题描述: | 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。 输入格式 输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。 输出格式 输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。 样例输入 2 3 样例输出 3 4 评测用例规模与约定 1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。 |
问题链接:CCF201503-1 图像旋转
问题分析
说是图象旋转,其实仔细一看。只不过是把读入的数组的最后一列放到第一行,倒数第二列放到第二行,以此类推
满分代码
n,m=input().split()
n,m=int(n),int(m)
#读入原始的图像信息
image=[]
for i in range(n):
s=input().split()
for i in range(m):
s[i]=int(s[i])
image+=[s]
#图像旋转即读入的二维数组的最后一列变为旋转后的第一行
#倒数第二列变为新图象的第二行
img=[]
#从最后一列到第一列
for i in range(m-1,-1,-1):
s=[]
#从上到下
for j in range(n):
s+=[image[j][i]]
img+=[s]
#输出图像:
for i in range(m):
print(img[i][0],end='')
for j in range(1,n):
print('',img[i][j],end='')
print()