avatar
Untitled

Guest 1.9K 3rd Oct, 2019

n = int(input("Nhap vao n:= "))
A = [x for x in range(0, n)] # mảng chứa lựa chọn
sumMax = int(0)
WMAX = int(input("Nhap vao khoi luong toi da co the lay duoc:= "))
B = [x for x in range(0, n)] # mảng lưu kết quả
V = [x for x in range(0, n)] # mảng giá trị của đồ vật
W = [x for x in range(0, n)] # mảng khối lượng của đồ vật

def arrResualB():
    #lấy ra mảng cuối cùng được chọn
    for i in range(0, n):
        B[i] = A[i]


def inputArrV(V):
    # nhập giá trị cho mảng chứa giá trị đồ vật
    print("Nhap vao gia tri cua do vat:")
    for i in range(0, n):
        V[i] = int(input("Nhap vao gia tri:= "))

def inputArrW(W):
    # nhập giá trị cho mảng chứa khối lượng đồ vật
    print("Nhap vao can nang cua do vat:")
    for i in range(0, n):
        W[i] = int(input("Nhap vao khoi luong cua do vat:= "))


def tongW():
    # tính tổng khối lượng của một mảng đồ vật được chọn
    tong = int(0)
    for i in range(0, n):
        if A[i] == 1:
            tong += W[i]
    return tong


def tongV():
    # tính tổng giá trị của một mảng đồ vật được chọn
    tong = int(0)
    if tongW() <= WMAX:
        for i in range(0, n):
            if A[i] == 1:
                tong += V[i]
    return tong


def Try(i):
    global sumMax
    for j in range(0, 2):
        A[i] = j
        if i == n - 1:
            sumOfA = tongV()
            if sumMax <= sumOfA <= WMAX:
                sumMax = sumOfA
                arrResualB()
        else:
            Try(i + 1)


inputArrV(V)
inputArrW(W)
Try(0)
print(sumMax, B)
Python
Description

No description

To share this paste please copy this url and send to your friends
RAW Paste Data