当前位置:网站首页>7-6 local minimum of matrix (PTA program design)
7-6 local minimum of matrix (PTA program design)
2022-07-06 13:56:00 【Programming Lindaiyu】
Given M That's ok N The integer matrix of columns A, among 3≤M,N≤10, If A The non boundary elements of A[i][j] Smaller than the adjacent upper, lower, left and right 4 Elements , So it's called the element A[i][j] Is the local minimum of the matrix . It is required to write a program to output all local minima of a given matrix and their positions . Each line follows “ Element value Line number Column number ” Output a local minimum in the format of , One line 、 Column number from 1 Start . The output is required to be incremented according to the line number ; If there are more than 1 A local minimum , Then the row is incremented by the column number . If there is no local minimum , The output “None”.
Input format :
First enter the number of rows of the matrix in the first row M And number of columns N, Then enter the integer matrix from the second line A All elements of .
Output format :
Output all local minima of a given matrix and their positions according to the requirements of the topic .
sample input :
Here's a set of inputs . for example :
4 5
9 9 9 9 9
9 3 9 5 9
9 5 3 5 9
9 9 9 9 9
sample output :
Here is the corresponding output . for example :
3 2 2
3 3 3
Code (Python):
m,n=map(int,input().split()) # Enter the number of lines m And number of columns n
list1=[] #list1 Used to store matrix
count=0 # Used to record several qualified values
for i in range(m): # Pay attention to the input method of two-dimensional array
s = input() # Line by line input
list1.append([int(n) for n in s.split()]) # Separate the numbers on each line with spaces ,split() The return value of the function is a list , That is, each line is treated as an element , After casting , Add to list1 in
for i in range(1,m-1): # Traverse every internal element of the matrix
for j in range(1,n-1):
if list1[i][j]<list1[i-1][j] and list1[i][j]<list1[i][j-1] and list1[i][j]<list1[i+1][j] and list1[i][j]<list1[i][j+1]: # Judge whether it is smaller than its upper, lower, left and right 4 Elements
print(list1[i][j],i+1,j+1) # If it is less than up, down, left and right 4 One element , Is the local minimum of the matrix , Neglect the local minimum and its position , Because the list is from 0 Start , The rows and columns of the matrix are from 1 Start , So add 1
count=1 # For the convenience of judging whether there is a qualified value
if count==0: #count=0 Indicates that there is no qualified value
print("None") # If not, output None
The above program gives more detailed comments , For novice Xiaobai's reference . The idea of program design or code implementation is not optimal , You are welcome to correct your mistakes or give better ideas .
I am a rookie who wants to be Kunpeng , Everyone's encouragement is my driving force , Welcome to like collection comments !
边栏推荐
猜你喜欢
Strengthen basic learning records
FAQs and answers to the imitation Niuke technology blog project (III)
扑克牌游戏程序——人机对抗
FAQs and answers to the imitation Niuke technology blog project (I)
甲、乙机之间采用方式 1 双向串行通信,具体要求如下: (1)甲机的 k1 按键可通过串行口控制乙机的 LEDI 点亮、LED2 灭,甲机的 k2 按键控制 乙机的 LED1
【手撕代码】单例模式及生产者/消费者模式
3. Input and output functions (printf, scanf, getchar and putchar)
深度强化文献阅读系列(一):Courier routing and assignment for food delivery service using reinforcement learning
Yugu p1012 spelling +p1019 word Solitaire (string)
4. Branch statements and loop statements
随机推荐
Have you encountered ABA problems? Let's talk about the following in detail, how to avoid ABA problems
[dark horse morning post] Shanghai Municipal Bureau of supervision responded that Zhong Xue had a high fever and did not melt; Michael admitted that two batches of pure milk were unqualified; Wechat i
实验四 数组
The difference between overloading and rewriting
透彻理解LRU算法——详解力扣146题及Redis中LRU缓存淘汰
Write a program to simulate the traffic lights in real life.
【头歌educoder数据表中数据的插入、修改和删除】
Experiment 7 use of common classes
[data processing of numpy and pytoch]
5月14日杂谈
[VMware abnormal problems] problem analysis & Solutions
FAQs and answers to the imitation Niuke technology blog project (II)
Relationship between hashcode() and equals()
Differences among fianl, finally, and finalize
7-1 输出2到n之间的全部素数(PTA程序设计)
渗透测试学习与实战阶段分析
强化学习基础记录
杂谈0516
【VMware异常问题】问题分析&解决办法
【手撕代码】单例模式及生产者/消费者模式