Em có một bài tập như sau , nhưng chưa biết bắt đầu giải thế nào , anh/chị nào biết có thể hướng dẫn em với.

Bài 1: Cho một danh sách d gồm n chiếc điện thoại, thông tin về mỗi điện thoại gồm nhãn
hiệu, kích thước màn hình (inch) và giá bán. Viết chương trình thực hiện:
- Khởi tạo n và danh sách d (5 ≤ n ≤ 10) .
- Cho một chiếc túi có kích thước s (inch). Bằng một thuật toán được thiết kế theo chiến
lược quy hoạch động hãy cho biết có thể lấy được bao nhiêu chiếc điện thoại bỏ vào
túi để được tổng giá bán lớn nhất mà không vượt quá kích thước của túi, cho biết những
chiếc điện thoại đã lấy (mỗi điện thoại hiển thị nhãn hiệu, giá bán).
- Bằng chiến lược chia để trị hãy cho biết có bao nhiêu chiếc điện thoại trong danh sách
a có giá bán trong tầm giá từ 3 triệu đến 6 triệu.

Bài 2: Cho một danh sách d gồm n xâu ký tự, mỗi xâu ký tự là một câu tiếng anh có chiều dài
không quá 100 ký tự, các xâu ký tự đôi một khác nhau. Cài đặt chương trình thực hiện:
- Khởi tạo số n và danh sách d (5 ≤ n ≤ 10).
- Sử dụng chiến lược chia để trị thiết kế thuật toán cho biết xâu có chiều dài nhỏ nhất
trong danh sách d, hiển thị xâu đó.
- Sử dụng chiến lược chia để trị để tính tổng chiều dài của tất cả các xâu trong danh sách
d.
- Sắp xếp danh sách d bằng thuật toán sắp xếp trộn được thiết kế theo chiến lược chia
để trị. Hiển thị danh sách sau khi sắp xếp.
- Nhập một xâu ký tự bất kì st, bằng chiến lược chia để trị hãy thiết kế thuật toán để cho
biết xâu st có xuất hiện trong danh sách d hay không, nếu có thì cho biết vị trí của nó.