一道演算法題隨筆(1)

2021-09-08 08:10:12 字數 1280 閱讀 4174

迴圈矩陣(第一列和最後一列是相鄰的),求該矩陣中最大子矩陣(就是子矩陣中的元素和最大);輸入的資料在檔案input.txt中讀取,輸出的結果存入output.txt中;

輸入資料的格式如下:(中間只能乙個空格,否則就不能存入陣列中)

41 1 0 2

5 1 -3 1

2 2 -1 4

-7 -8 0 -5

#!/usr/local/bin/python

# coding=utf-8

a = raw_input('輸入乙個矩陣:')

line_num = len(a.split(','))

cal_num = len(a.split(',')[0].split(' '))

max = 0

tag_max = 0

tag_list =

max_list =

size_list =

#子矩陣的所有可能型別加入size_list

for line in range(0, line_num):

for col in range(0, cal_num):

size = (line,col)

for size_type in size_list:

#遍歷矩陣每乙個點,都作為目標子矩陣的最左上點,其中行列迴圈,則取餘數為目標點

for line in range(0, line_num):

for col in range(0, cal_num):

#從每乙個點開始根據目標矩陣型別求和

for hang in range(0,size_type[0]+1):

for lie in range(0,size_type[1]+1):

point = int(a.split(',')[(line+hang)%line_num].split(' ')[(col+lie)%cal_num])

#tag_list臨時記錄子矩陣資料

#tag_max臨時記錄子矩陣資料之和

tag_max += point

#如果找到的子矩陣資料之和比標記的max資料大,就把tag_max複製給max,tag_list複製給max_list

if tag_max > max:

max = tag_max

max_list = tag_list

#將tag_list、tag_max初始化

tag_max = 0

tag_list =

print(max,max_list)

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...

一道演算法題

1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...

一道演算法題

include using namespace std const int size 5 int max sub array const int a,int n,int m int max matrix const int a size int row,int col,int subsize int...