题目描述:
小明最近沉迷于一个矩阵游戏,游戏规则是:给定一个数字矩阵。该矩阵行和列相同,对于第i行,你需要将第i行的最小值(若出现相同的,选择列号较小的)和第i列的最大值(若出现相同的,选择行号较小的)交换,然后将第i行的数从小到大排序。要求输出最后的矩阵。
输入格式:
第1行为一个整数n(不超过100),表示矩阵的行列数。
接下来n行,每行n个整数。
输出格式:
n*n的矩阵。
样例输入:
3 1 2 3 5 1 4 2 6 5
样例输出:
2 3 5 1 4 1 2 5 6
约定:
1<=n<=100
思路:
这道题有点文字游戏的感觉,是竖着交换,一定要看清样例
代码:
n=int(input())
a=[]
for i in range(n):
a.append(list(map(int,input().split())))
for i in range(n):
k1=min(a[i])
k2=-1
t=0
for j in range(n):
if a[j][i]>k2:
k2=a[j][i]
t=j
a[i][a[i].index(k1)],a[t][i]=k2,k1
a[i].sort()
for i in a:
print(" ".join(list(map(str,i))))
终于开始练习python了
别忘了点赞哦!