Giả sử chúng ta bán 4 mặt hàng và giá của mặt hàng thứ i được cho trong mảng 'cost[i]'. Chúng ta bán các mặt hàng theo thứ tự cho trong chuỗi 'items'. Chúng ta phải tìm tổng số tiền bán hàng đã thực hiện. Chuỗi 'items' chứa các số nguyên từ 1 đến 4, có thể trùng lặp và theo bất kỳ thứ tự nào.
Ví dụ, nếu đầu vào là cost = {10, 15, 10, 5}, items = "14214331", thì đầu ra sẽ là 75.
Các bước thực hiện
Để giải quyết bài toán này, chúng ta thực hiện theo các bước sau:
total := 0 for khởi tạo i := 0, khi i < kích thước của items, cập nhật (tăng i lên 1), do: total := total + cost[items[i] - '0' - 1] return total
Ví dụ minh họa
Xem triển khai sau để hiểu rõ hơn:
#include <bits/stdc++.h> using namespace std; #define N 100 int solve(int cost[], string items) { int total = 0; for(int i = 0; i < items.size(); i++) total += cost[items[i] -'0' - 1]; return total; } int main() { int cost[] = {10, 15, 10, 5}; string items = "14214331"; cout<< solve(cost, items); return 0; }Đầu vào
{10, 15, 10, 5}, "14214331"Đầu ra
75