91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 9KB
    文件類型: .py
    金幣: 2
    下載: 2 次
    發布日期: 2021-06-06
  • 語言: Python
  • 標簽: Python??代碼??

資源簡介

2018華為軟件挑戰賽賽題中裝箱部分的解答代碼,可以作為尺寸成倍數關系的一維裝箱問題解決方式的參考

資源截圖

代碼片段和文件信息

#?coding=utf-8
table_1?=?{“cpu_16“:?[3?0?“flavor13“]
???????????“cpu_8“:?[3?0?“flavor10“]
???????????“cpu_4“:?[17?0?“flavor7“]
???????????“cpu_2“:?[9?0?“flavor4“]
???????????“cpu_1“:?[25?0?“flavor1“]}
table_2?=?{“cpu_16“:?[0?0?“flavor14“]
???????????“cpu_8“:?[0?0?“flavor11“]
???????????“cpu_4“:?[0?0?“flavor8“]
???????????“cpu_2“:?[0?0?“flavor5“]
???????????“cpu_1“:?[0?0?“flavor2“]}
table_4?=?{“cpu_16“:?[0?0?“flavor15“]
???????????“cpu_8“:?[0?0?“flavor12“]
???????????“cpu_4“:?[0?0?“flavor9“]
???????????“cpu_2“:?[0?0?“flavor6“]
???????????“cpu_1“:?[0?0?“flavor3“]}
cpu16s?=?[]?#存放所有cpu規格為16的虛擬機,以flavor15,flavor14,flavor13區分
flavors?=?{“flavor1“:?[1?1]
???????????“flavor2“:?[1?2]
???????????“flavor3“:?[1?4]
???????????“flavor4“:?[2?2]
???????????“flavor5“:?[2?4]
???????????“flavor6“:?[2?8]
???????????“flavor7“:?[4?4]
???????????“flavor8“:?[4?8]
???????????“flavor9“:?[4?16]
???????????“flavor10“:?[8?8]
???????????“flavor11“:?[8?16]
???????????“flavor12“:?[8?32]
???????????“flavor13“:?[16?16]
???????????“flavor14“:?[16?32]
???????????“flavor15“:?[16?64]}
keys?=?(“cpu_1“?“cpu_2“?“cpu_4“?“cpu_8“?“cpu_16“)
f_keys?=?(“flavor1“?“flavor2“?“flavor3“?“flavor4“?“flavor5“
??????????“flavor6“?“flavor7“?“flavor8“?“flavor9“?“flavor10“
??????????“flavor11“?“flavor12“?“flavor13“?“flavor14“?“flavor15“)


def?fill_table(table):
????‘‘‘
????將預測數據填裝至able_1table_2table_3三個表中
????:param?table:?預測數據
????:return:
????‘‘‘
????i=0;
????while?i<15:
????????if?i%3==0:
????????????table_1[keys[i//3]][0]?=?table.get(f_keys[i])
????????else:
????????????if?i%3==1:
????????????????table_2[keys[i?//?3]][0]?=?table.get(f_keys[i])
????????????else:
????????????????table_4[keys[i?//?3]][0]?=?table.get(f_keys[i])
????????i+=1
????return


def?adapt_table(table):
????‘‘‘
????歸置數據,計算出表中每種CPU規格的虛擬數量
????:param?table:?所需操作的表,table_1table_2table_3三個中之一
????:return:返回值為該表中cpu規格16的個數,包括實際數量和虛擬數量
????‘‘‘
????i=0
????while?i<4:
????????#?print(dict.get(keys[i])[0])
????????table.get(keys[i+1])[1]?=?(table.get(keys[i])[0]+table.get(keys[i])[1])//2
????????i+=1
????return?table.get(keys[4])[0]+table.get(keys[4])[1]


def?packaging(tablekeydelnumpackage):
????‘‘‘
????將對應表中,對應cpu規格的虛擬機,減去對應的數目并將其按照約定填裝到箱子中
????:param?table:?所需操作的表,table_1table_2table_3三個中之一
????:param?key:?所需操作的物品,表中對應CPU規格,可選cpu_16到dpu_1
????:param?delnum:?所需減去的個數
????:param?package:?填裝物品的箱子
????:return:?所需對應cpu的虛擬數量
????‘‘‘
????virnum=delnum-(table.get(key)[0])
????flavor?=?table.get(key)[2]
????if?virnum<=0:
????????virnum?=?0
????????table.get(key)[0]-=delnum
????????if?flavor?in?package:
????????????package[flavor]+=delnum
????????else:
????????????package[flavor]=delnum
????else:
????????if?table.get(key)[0]>0?and(flavor?in?package):
????????????package[flavor]+=table.get(key)[0]
????????elif?table.get(key)[0]>0?:
????????????package[flavor]=table.get(key)[0]
????????table.get(key)[0]?=?0
????????table.get(key)[1]?-=?virnum
????ret

評論

共有 條評論