Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để tìm ra tổng số tối đa có thể từ các số nguyên đã cho

Giả sử, chúng ta được cho trước hai số nguyên n và m và có k bộ số nguyên chứa bốn số nguyên {ai, bi, ci, di}. Bốn mảng a, b, c, d được cho và a [i] biểu thị giá trị của bộ thứ i. Bây giờ, chúng ta hãy xem xét một dãy dp có n số nguyên dương và 1 <=dp [1]

Vì vậy, nếu đầu vào là n =4, m =5, k =4, a ={2, 2, 3, 5}, b ={4, 3, 4, 6}, c ={4, 3, 3, 4}, d ={110, 20, 20, 40}, thì kết quả đầu ra sẽ là 130.

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

 Xác định các mảng A, B, C, D và dp có kích thước lần lượt là:100, 100, 100, 100, 10. Xác định hàm deepSearch (), điều này sẽ lấy c, l, nếu c giống với n, then:total:=0 để khởi tạo i:=0, khi i  

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

 #include  using namespace std; int n, m, k, res =0; int A [100], B [100], C [100], D [100], dp [ 10]; void depthSearch (int c, int l) {if (c ==n) {int total =0; for (int i =0; i  

Đầu vào

 4, 5, 4, {2, 2, 3, 5}, {4, 3, 4, 6}, {4, 3, 3, 3, 4}, {110, 20, 20, 40}  

Đầu ra

 130