小公尺程式設計題

2022-09-07 08:42:12 字數 2495 閱讀 9849

乙個工廠製造的產品形狀都是長方體,它們的高度都是h,長和寬都相等,一共有六個型號,他們的長寬分別為1×1、2×2、3×3、4×4、5×5、6×6。這些產品通常使用乙個 6×6×h 的長方體包裹包裝然後郵寄給客戶。因為郵費很貴,所以工廠要想方設法的減小每個訂單運送時的包裹數量。他們很需要有乙個好的程式幫他們解決這個問題從而節省費用。現在這個程式由你來設計。

while true:

try:

box = list(map(int,input().split()))

ini_count = sum(box[3:])+(box[2]+3)//4

box[2] = box[2]%4

remain1 = box[0]

remain2 = box[1]

remain_space = 0 # 假設某個位置沒有裝滿2,留給1的

# 針對為5*5的箱子,存放1*1後的結果

if box[4]>0:

remain1 = max(0,remain1-box[4]*11)

# 針對4*4的箱子,先存放2*2,再存放1*1

if box[3]>0:

if box[3]>remain2*5:

remain_space += (box[3]*20-remain2*4)

remain2 = 0

remain1 = max(0,remain1-remain_space)

else:

remain2 = max(0,remain2-box[3]*5)

# 針對3*3的箱子,先放2*2,再放1*1

if box[2]==1:

if remain2 > 5:

remain2 -= 5

remain1 = max(0,remain1-7)

else:

remain_space += (27 - remain2*4)

remain2 = 0

remain1 = max(0,remain1-remain_space)

if box[2]==2:

if remain2 > 4:

remain2 -= 4

reamin1 = max(0,remain1-4)

else:

remain_space += (18-remain2*4)

remin2 = 0

remain1 = max(0,remain1-remain_space)

if box[2]==3:

if remain2>2:

remain2 -= 2

remain1 = max(0,remain1-2)

else:

remain_space += (9-remain2*4)

remain2 = 0

remain1 = max(0,remain1-remain_space)

count = ini_count+(remain1+remain2*4+35)//36

print(count)

except:

break

a[n,m]是乙個n行m列的矩陣,a[i,j]表示a的第i行j列的元素,定義x[i,j]為a的第i行和第j列除了a[i,j]之外所有元素(共n+m-2個)的乘積,即x[i,j]=a[i,1]a[i,2]...a[i,j-1]...a[i,m]a[1,j]a[2,j]...a[i-1,j]a[i+1,j]...a[n,j],現輸入非負整形的矩陣a[n,m],求max(x[i,j]),即所有的x[i,j]中的最大值。

def compute(a,index):

dp1 = [1]*len(a)

dp2 = [1]*len(a)

for i in range(1,len(a)):

dp1[i] = dp1[i-1]*a[i-1]

for j in range(len(a)-2,-1,-1):

dp2[j] = dp2[j+1]*a[j+1]

return dp1[index]*dp2[index]

def get_col(a,j):

m,n = len(a),len(a[0])

col =

for i in range(m):

return col

while true:

try:

n,m = list(map(int,input().split()))

res =

for i in range(n):

result = float("-inf")

for i in range(n):

for j in range(m):

row = res[i]

col = get_col(res, j)

result = max(result,compute(row,j)*compute(col,i))

print(result)

except:

break

程式設計題 小公尺git

題目描述 git是一種分布式 管理工具,git通過樹的形式記錄檔案的更改歷史,比如 base base a a b b 小公尺工程師常常需要尋找兩個分支最近的分割點,即base.假設git 樹是多叉樹,請實現乙個演算法,計算git樹上任意兩點的最近分割點。假設git樹節點數為n,用鄰接矩陣的形式表示...

小公尺春招程式設計題 第3題

題目描述 1表示a 2表示b 3表示c 26表示z,要求輸入一串數字,輸出所有可能表示的字串 樣例輸入 1212 樣例輸出 abab abl aub lab ll 樣例輸入 1234 樣例輸出 abcd awd lcd 題目分析 如下圖,利用dfs,遍歷二叉樹,剪枝條件 數字不能大於26 宣告乙個l...

小公尺2015筆試程式設計題

1.程式設計題 懂二進位制 時間限制 1秒 空間限制 32768k 世界上有10種人,一種懂二進位制,一種不懂。那麼你知道兩個int32整數m和n的二進位制表達,有多少個位 bit 不同麼?輸入例子1 1999 2299 輸出例子1 分析 第一步求這兩個數的異或,得到乙個新的數,相同位是0,不同位是...