PYTHON 找鞍點, 行上最大 列上最小

2021-10-04 05:16:48 字數 1594 閱讀 9754

找鞍點

乙個矩陣元素的「鞍點」是指該位置上的元素值在該行上最大、在該列上最小。

本題要求編寫程式,求乙個給定的n階方陣的鞍點。

輸入第一行給出乙個正整數n(1≤n≤6)。隨後n行,每行給出n個整數,其間以空格分隔。

輸出在一行中按照「行下標 列下標」(下標從0開始)的格式輸出鞍點的位置。如果鞍點不存在,則輸出「none」。題目保證給出的矩陣至多存在乙個鞍點。

4

1 7 4 1

4 8 3 6

1 6 1 2

0 7 8 9

def max_index(lst_int):

index =

max_n = max(lst_int)

for i in range(len(lst_int)):

if lst_int[i] == max_n:

return index #返回乙個列表

n = int(input())

a =

flag = false

for i in range(n):

s = input()

for row in range(n):

column_idx = max_index(a[row]) # find column-index of maximal number of row-th row

col_val =

for col in column_idx:

col_val = [i[col] for i in a] # get value of col-th column

if a[row][col] == min(col_val): # if row-max is equal to column-min

print(row, col)

flag = true

break

if not flag:

print("none")

'''# 找鞍點: 乙個矩陣元素的「鞍點」是指該位置上的元素值在該行上最大、在該列上最小

n = int(input()); a =

flag = false

for i in range(n):

s = input()

for j in range(n):

row_idx = a[j].index(max(a[j])) # find column-index of maximal number of jth row

column_j =

for k in range(n):

column_idx = column_j.index(min(column_j)) # find row-index of column-min

if max(a[j]) == min(column_j): # if row-max is equal to column-min

print(column_idx, row_idx)

flag = true

if not flag:

print("none")

'''

7 56 找鞍點 20 分 (最大的含義)

乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。輸入格式 輸入第一行給出乙個正整數n 1 n 6 隨後n行,每行給出n個整數,其間以空格分隔。輸出格式 輸出在一行中按照 行下標 列下標 下標從0開始 的格式輸出鞍點的位置。如果鞍點不...

求矩陣的鞍點 即列最小行最大

1 include2 include malloc free realloc34 查詢行最小 列最大的元素 找到之後直接輸出 5 void fun1 int arr 4 int row 二維陣列 傳參需要傳遞行619 20 arr i m 是這一行最小的元素 21 找這一列有沒有比arr i m 更...

python 第4章 22 找鞍點 20分

乙個矩陣元素的 鞍點 是指該位置上的元素值在該行上最大 在該列上最小。本題要求編寫程式,求乙個給定的n階方陣的鞍點。輸入第一行給出乙個正整數n 1 n 6 隨後n行,每行給出n個整數,其間以空格分隔。輸出在一行中按照 行下標 列下標 下標從0開始 的格式輸出鞍點的位置。如果鞍點不存在,則輸出 non...