2022年9月1日 星期四

Python a694: 吞食天地二

a694: 吞食天地二


#a694: 吞食天地二


'''

輸入說明

多組測資以 EOF 結束


每組測資開始有兩個正整數 n,m (n<=500, m<=100000)


接下來 n 行有 n 個不超過100的正整數依序代表每個食物的飽足度 


接下來 m 行每行有四個數字 x1,y1,x2,y2 (1 <= x1 <= x2 <= n, 1 <= y1 <= y2 <= n)


代表你想要吃掉食物的範圍


輸出說明

對每組測資輸出 m 行,代表總飽足度


範例輸入 #1

3 3

1 2 3

4 5 6

7 8 9

1 1 3 3

1 1 1 3

1 1 3 1



範例輸出 #1

45

6         --> 1+2+3=6

12       -->  1+4+7=12



a=[ [1, 2, 3] ,

    [4, 5,6],

    [7, 8, 9]]

x1=1

y1=1

x2=3

y2=1

for i in range (y1-1,y2):

    for j in range (x1-1,x2):

        print (a[j][i])


ans:

1

4

7

'''

print ('a694: 吞食天地二')

n,m=map(int, input('輸入n、m兩正整數-->').split())    #

# Initialize matrix

matrix = []


# For user input

a =[]

for j in range(n):      # A for loop for column entries

    a = list(map(int, input('每個食物的飽足度-->').split()))

    matrix.append(a)

 

print (matrix)

 

# For printing the matrix

for i in range(n):

    for j in range(n):

        print(matrix[i][j], end = " ")

    print()


print(m)

while  (m>0):

    try:

        x1,y1,x2,y2=map(int, input('m 行每行有四個數字 x1,y1,x2,y2 -->').split())

        Asum=0

        for i in range (y1-1,y2):

            for j in range (x1-1,x2):

                #print (matrix[j][i])

                Asum=Asum+int(matrix[j][i])

        print(Asum)

        m=m-1

    except:

        break



Python 3.7.9 (bundled)

>>> %Run a694.py

a694: 吞食天地二

輸入n、m兩正整數-->3 3

每個食物的飽足度-->1 2 3

每個食物的飽足度-->4 5 6

每個食物的飽足度-->7 8 9

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

1 2 3 

4 5 6 

7 8 9 

3

m 行每行有四個數字 x1,y1,x2,y2 -->1 1 3 3

45

m 行每行有四個數字 x1,y1,x2,y2 -->1 1 1 3

6

m 行每行有四個數字 x1,y1,x2,y2 -->1 1 3 1

12

>>> 

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...