SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
HỆ CHÍNH QUI
MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
GVLT: TS. ĐINH BÁ TIẾN
HƯỚNG DẪN THỰC HÀNH
TUẦN 09
COMPOSITE & STL LIBRARY
TRẦN THANH HẢI
HỒ TUẤN THANH
TP.HCM, ngày 25 tháng 11 năm 2012
tthai/htthanh@fit.hcmus.edu.vn
Trang 2
MỤC LỤC
1 Bài 01............................................................................................................................3
2 Bài 02............................................................................................................................3
tthai/htthanh@fit.hcmus.edu.vn
Trang 3
1 Bài 01
Viết chương trình quản lí thư mục, tập tin. Cho phép:
1. Nhập vào thông tin của một thư mục gốc
2. Xuất thông tin thư mục đó ra màn hình
3. Tìm tập tin/thư mục theo tên
4. Tính dung lượng của một thư mục/tập tin bất kì
5. Thêm một tập tin vào một thư mục chỉ định
6. Xóa một tập tin khỏi một thư mục chỉ định
7. Thêm một thư mục vào một thư mục chỉ định
8. Xóa một thư mục khỏi một thư mục chỉ định
9. Sửa nội dung một tập tin chỉ định
Biết rằng:
Thông tin một thư mục gồm: tên thư mục, ngày tạo, ngày thay đổi gần nhất
Thông tin của một tập tin gồm: tên tập tin (bao gồm cả phần đuôi – extension),
ngày tạo, ngày thay đổi gần nhất, nội dung tập tin
2 Bài 02
Một cái máy có nhiều chi tiết. Mỗi chi tiết máy có thể là chi tiết đơn hoặc là chi tiết phức.
Chi tiết đơn: là chi tiết không chứa bên trong nó chi tiết khác. Thông tin của chi
tiết đơn bao gồm: mã số chi tiết, giá tiền.
Chi tiết phức: là chi tiết chứa bên trong nó nhiều chi tiết thành phần, mỗi một chi
tiết thành phần này có thể là chi tiết đơn hoặc là chi tiết phức. Thông tin của chi
tiết phức bao gồm: mã số chi tiết, số lượng chi tiết thành phần, danh sách các chi
tiết thành phần. Giá tiền của chi tiết phức bằng tổng giá tiền của các chi tiết thành
phần.
Hãy vẽ sơ đồ lớp và viết chương cho phép:
1. Nhập các chi tiết cho máy.
2. Tìm kiếm một chi tiết máy theo mã số.
3. Tính tiền cho một chi tiết máy, hoặc cho máy.
4. Xuất các chi tiết máy.
5. Đếm số lượng chi tiết đơn có trong cái máy
tthai/htthanh@fit.hcmus.edu.vn
Trang 4
3 Bài 03
Xây dựng chương trình cho phép người dùng chọn một trong các kiểu cấu trúc dữ liệu
như danh sách liên kết, danh sách liên kết có độ ưu tiên, ngăn xếp, hàng đợi, vec-tơ và sử
dụng các thao tác cơ bản như thêm, xóa, sửa, tìm kiếm, lấy kích thước, xem nội dung trên
kiểu cấu trúc được chọn. Lưu ý, chúng ta phải xây dựng một lớp riêng cho mỗi kiểu cấu
trúc dữ liệu và tận dụng những kiểu dữ liệu sẵn có trong thư viện STL.
4 Bài 04 (đọc thêm)
Công viên giải trí Liên Sơn mới mở một đường đi đặc biệt vượt qua các ngọn núi. Con
đường này bao gồm n đoạn nối liền nhau, đoạn đầu tiên, luôn xuất phát từ từ độ cao
0. Byteman là người điều khiển, ông có thể điều chỉnh các đoạn - việc điều chỉnh là thay
đổi độ cao các đầu mút của các đoạn liên tiếp nhau. Mỗi lần điều chỉnh một đoạn thì các
đoạn theo sau sẽ được nâng lên hoặc hạ xuống để n đoạn luôn nối với nhau và duy trì
đoạn đầu tiên luôn xuất phát từ độ cao là 0. Hình bên dưới mô tả hai ví dụ về cách điều
chỉnh này. Mỗi lần bắt đầu một hành trình, các ôtô được nạp năng lượng để đi tới độ cao
h. Điều đó có nghĩa là ôtô có thể tiếp tục hành trình miễn là độ cao của đoạn hiện tại
không vượt quá h.
Cho trước lịch các hành trình và các lần điều chỉnh xen kẽ trong ngày, với mỗi hành trình
hãy tính số chặng mà mỗi ôtô đi được trước khi nó dừng lại.
Trong bảng đó, mỗi chặng được biểu diễn bằng một dãy n sự thay đổi độ cao. Số thứ i
trong dãy - di thể hiện sự thay đổi độ cao (centimét) tại đoạn thứ i. Giả sử sau khi đi qua
i-1 đoạn ôtô đến độ cao h centimét, sau khi đi qua i đoạn, ôtô sẽ đạt đến độ cao h + di
centimét.
Ban đầu các đoạn đều nằm ngang, nghĩa là di = 0 với mọi i. Các lượt hành trình và sự
điều chỉnh trên hành trình đan xen nhau trong cả ngày hoạt động. Mỗi lần điều chỉnh
được xác định bằng 3 số: a, b và D. Các đoạn được chỉnh từ a đến b. Độ cao được chỉnh
trong các đoạn này là D. Nghĩa là di = D với mọi a ≤ i ≤ b. Mỗi hành trình được xác định
bởi một số h - độ cao lớn nhất mà ôtô có thể đến được.
Nhiệm vụ: Viết chương trình cho phép
 Đọc dữ liệu từ input chuẩn dãy các hành trình và các lần điều chỉnh.
 Với mỗi hành trình hãy tính số đoạn mà ôtô đi được.
 Viết kết quả ra output chuẩn.
tthai/htthanh@fit.hcmus.edu.vn
Trang 5
Hình 1: Hình ảnh minh họa ví dụ bên dưới
Dữ liệu vào: Dòng đầu tiên chứa số nguyên dương n - số đoạn trên con đường, 1 ≤ n ≤ 1
000 000 000. Các dòng tiếp theo bao gồm các lần điều chỉnh xen kẽ với hành trình, sau
đó là ký hiệu kết thúc. Mỗi dòng có thể là: sự điều chỉnh - một ký tự ‘I’ và các số nguyên
a, b, D cách nhau bởi một dấu trắng (1 ≤ a ≤ b≤ n, -1 000 000 000 ≤ D ≤ 1 000 000 000);
một hành trình - một ký tự ‘Q’ và số nguyên h (0 ≤ h ≤ 1 000 000 000) cách nhau bởi một
dấu trắng; ký hiệu kết thúc – ký tự ‘E’.
Dữ liệu ra: Dòng thứ i của output chứa một số nguyên là số đoạn mà xe du đi được trong
hành trình thứ i.
tthai/htthanh@fit.hcmus.edu.vn
Trang 6
Lưu ý: Bất kỳ lúc nào độ cao nào cũng luôn nằm trong khoảng [0, 1 000 000 000]
centimét. Dữ liệu vào chứa không quá 100 000 dòng. Có 50% test n thoả mãn 1 ≤ n ≤ 20
000 và dữ liệu vào chứa không quá 1000 dòng.
Ví dụ:
Dữ liệu vào Dữ liệu ra
Q 1
I 1 4 2
Q 3
Q 1
I 2 2 -1
Q 3
E
4
1
0
3
5 Bài 05 (đọc thêm)
Xem các bài hướng dẫn thực hành tuần 8 và 9.

Contenu connexe

En vedette

Cq lt hdt-th2011-01-tuan05
Cq lt hdt-th2011-01-tuan05Cq lt hdt-th2011-01-tuan05
Cq lt hdt-th2011-01-tuan05. .
 
Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04. .
 
Cautrucdulieu full
Cautrucdulieu fullCautrucdulieu full
Cautrucdulieu full. .
 
Cau lenh truy_van_sql
Cau lenh truy_van_sqlCau lenh truy_van_sql
Cau lenh truy_van_sql. .
 
Cq lt hdt-th2011-01-tuan01
Cq lt hdt-th2011-01-tuan01Cq lt hdt-th2011-01-tuan01
Cq lt hdt-th2011-01-tuan01. .
 
Cq lt hdt-th2011-01-tuan11
Cq lt hdt-th2011-01-tuan11Cq lt hdt-th2011-01-tuan11
Cq lt hdt-th2011-01-tuan11. .
 
Cq lt hdt-th2011-01-tuan10
Cq lt hdt-th2011-01-tuan10Cq lt hdt-th2011-01-tuan10
Cq lt hdt-th2011-01-tuan10. .
 
Exceptions ref
Exceptions refExceptions ref
Exceptions ref. .
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 

En vedette (9)

Cq lt hdt-th2011-01-tuan05
Cq lt hdt-th2011-01-tuan05Cq lt hdt-th2011-01-tuan05
Cq lt hdt-th2011-01-tuan05
 
Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04Cq lt hdt-th2011-02-tuan04
Cq lt hdt-th2011-02-tuan04
 
Cautrucdulieu full
Cautrucdulieu fullCautrucdulieu full
Cautrucdulieu full
 
Cau lenh truy_van_sql
Cau lenh truy_van_sqlCau lenh truy_van_sql
Cau lenh truy_van_sql
 
Cq lt hdt-th2011-01-tuan01
Cq lt hdt-th2011-01-tuan01Cq lt hdt-th2011-01-tuan01
Cq lt hdt-th2011-01-tuan01
 
Cq lt hdt-th2011-01-tuan11
Cq lt hdt-th2011-01-tuan11Cq lt hdt-th2011-01-tuan11
Cq lt hdt-th2011-01-tuan11
 
Cq lt hdt-th2011-01-tuan10
Cq lt hdt-th2011-01-tuan10Cq lt hdt-th2011-01-tuan10
Cq lt hdt-th2011-01-tuan10
 
Exceptions ref
Exceptions refExceptions ref
Exceptions ref
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 

Similaire à Cq lt hdt-th2011-01-tuan09

Nguyễn hữu tân d11 dt2
Nguyễn hữu tân d11 dt2Nguyễn hữu tân d11 dt2
Nguyễn hữu tân d11 dt2Chelsea FC
 
Báo cáo-thực-tập-năm-2017
Báo cáo-thực-tập-năm-2017Báo cáo-thực-tập-năm-2017
Báo cáo-thực-tập-năm-2017vongoccuong
 
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...Man_Ebook
 
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...Man_Ebook
 
Thực hành cơ sở lập trình C++ Fithou
Thực hành cơ sở lập trình C++ FithouThực hành cơ sở lập trình C++ Fithou
Thực hành cơ sở lập trình C++ FithouTTnguyen
 
Luận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.doc
Luận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.docLuận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.doc
Luận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.docsividocz
 
Huong dan 8 o so
Huong dan 8 o soHuong dan 8 o so
Huong dan 8 o soshjdunglv
 
Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy
Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy
Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy nataliej4
 
Dechinhthuc (1)
Dechinhthuc (1)Dechinhthuc (1)
Dechinhthuc (1)Nguyen Duc
 
Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiHuynh MVT
 
Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Kuli An
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.commai_non
 
Báo cáo bài tập lớn
Báo cáo bài tập lớnBáo cáo bài tập lớn
Báo cáo bài tập lớnhung le
 

Similaire à Cq lt hdt-th2011-01-tuan09 (20)

Nguyễn hữu tân d11 dt2
Nguyễn hữu tân d11 dt2Nguyễn hữu tân d11 dt2
Nguyễn hữu tân d11 dt2
 
Báo cáo-thực-tập-năm-2017
Báo cáo-thực-tập-năm-2017Báo cáo-thực-tập-năm-2017
Báo cáo-thực-tập-năm-2017
 
Luận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOT
Luận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOTLuận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOT
Luận văn: Thiết kế hệ thống điều khiển thang máy chở hàng, HOT
 
Access
AccessAccess
Access
 
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
 
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
Nghiên cứu nâng cao chất lượng truyền động điện một chiều sử dụng trong hệ tù...
 
Điều khiển giám sát dây truyền phân loại và đóng gói sản phẩm.doc
Điều khiển giám sát dây truyền phân loại và đóng gói sản phẩm.docĐiều khiển giám sát dây truyền phân loại và đóng gói sản phẩm.doc
Điều khiển giám sát dây truyền phân loại và đóng gói sản phẩm.doc
 
Thực hành cơ sở lập trình C++ Fithou
Thực hành cơ sở lập trình C++ FithouThực hành cơ sở lập trình C++ Fithou
Thực hành cơ sở lập trình C++ Fithou
 
Luận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.doc
Luận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.docLuận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.doc
Luận Văn Ngành Xây Dựng Dân Dụng & Công Nghiệp Trụ Sở Công Ty Xây Dựng 17.doc
 
Huong dan 8 o so
Huong dan 8 o soHuong dan 8 o so
Huong dan 8 o so
 
Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy
Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy
Thiết Kế, Chế Tạo Mạch Hiển Thị Thang Máy
 
Dechinhthuc (1)
Dechinhthuc (1)Dechinhthuc (1)
Dechinhthuc (1)
 
Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansi
 
Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#Chuan viet code va thiet ke giao dien trong C#
Chuan viet code va thiet ke giao dien trong C#
 
Asp
AspAsp
Asp
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
693 toiuuma c
693 toiuuma c693 toiuuma c
693 toiuuma c
 
693 toiuuma c
693 toiuuma c693 toiuuma c
693 toiuuma c
 
Chuong 2
Chuong 2Chuong 2
Chuong 2
 
Báo cáo bài tập lớn
Báo cáo bài tập lớnBáo cáo bài tập lớn
Báo cáo bài tập lớn
 

Plus de . .

Cq lt hdt-th2011-01-tuan02
Cq lt hdt-th2011-01-tuan02Cq lt hdt-th2011-01-tuan02
Cq lt hdt-th2011-01-tuan02. .
 
Cq lt hdt-th2011-01-thck
Cq lt hdt-th2011-01-thckCq lt hdt-th2011-01-thck
Cq lt hdt-th2011-01-thck. .
 
Baitaprdbms
BaitaprdbmsBaitaprdbms
Baitaprdbms. .
 
Core java 9
Core java 9Core java 9
Core java 9. .
 
Core java 8
Core java 8Core java 8
Core java 8. .
 
Core java 7
Core java 7Core java 7
Core java 7. .
 
Core java 6
Core java 6Core java 6
Core java 6. .
 
Core java 5
Core java 5Core java 5
Core java 5. .
 
Core java 4
Core java 4Core java 4
Core java 4. .
 
Core java 3
Core java 3Core java 3
Core java 3. .
 
Core java 2
Core java 2Core java 2
Core java 2. .
 
Core java 1
Core java 1Core java 1
Core java 1. .
 
Core java 10
Core java 10Core java 10
Core java 10. .
 
ToanRoirac
ToanRoiracToanRoirac
ToanRoirac. .
 

Plus de . . (14)

Cq lt hdt-th2011-01-tuan02
Cq lt hdt-th2011-01-tuan02Cq lt hdt-th2011-01-tuan02
Cq lt hdt-th2011-01-tuan02
 
Cq lt hdt-th2011-01-thck
Cq lt hdt-th2011-01-thckCq lt hdt-th2011-01-thck
Cq lt hdt-th2011-01-thck
 
Baitaprdbms
BaitaprdbmsBaitaprdbms
Baitaprdbms
 
Core java 9
Core java 9Core java 9
Core java 9
 
Core java 8
Core java 8Core java 8
Core java 8
 
Core java 7
Core java 7Core java 7
Core java 7
 
Core java 6
Core java 6Core java 6
Core java 6
 
Core java 5
Core java 5Core java 5
Core java 5
 
Core java 4
Core java 4Core java 4
Core java 4
 
Core java 3
Core java 3Core java 3
Core java 3
 
Core java 2
Core java 2Core java 2
Core java 2
 
Core java 1
Core java 1Core java 1
Core java 1
 
Core java 10
Core java 10Core java 10
Core java 10
 
ToanRoirac
ToanRoiracToanRoirac
ToanRoirac
 

Cq lt hdt-th2011-01-tuan09

  • 1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM HỆ CHÍNH QUI MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG GVLT: TS. ĐINH BÁ TIẾN HƯỚNG DẪN THỰC HÀNH TUẦN 09 COMPOSITE & STL LIBRARY TRẦN THANH HẢI HỒ TUẤN THANH TP.HCM, ngày 25 tháng 11 năm 2012
  • 2. tthai/htthanh@fit.hcmus.edu.vn Trang 2 MỤC LỤC 1 Bài 01............................................................................................................................3 2 Bài 02............................................................................................................................3
  • 3. tthai/htthanh@fit.hcmus.edu.vn Trang 3 1 Bài 01 Viết chương trình quản lí thư mục, tập tin. Cho phép: 1. Nhập vào thông tin của một thư mục gốc 2. Xuất thông tin thư mục đó ra màn hình 3. Tìm tập tin/thư mục theo tên 4. Tính dung lượng của một thư mục/tập tin bất kì 5. Thêm một tập tin vào một thư mục chỉ định 6. Xóa một tập tin khỏi một thư mục chỉ định 7. Thêm một thư mục vào một thư mục chỉ định 8. Xóa một thư mục khỏi một thư mục chỉ định 9. Sửa nội dung một tập tin chỉ định Biết rằng: Thông tin một thư mục gồm: tên thư mục, ngày tạo, ngày thay đổi gần nhất Thông tin của một tập tin gồm: tên tập tin (bao gồm cả phần đuôi – extension), ngày tạo, ngày thay đổi gần nhất, nội dung tập tin 2 Bài 02 Một cái máy có nhiều chi tiết. Mỗi chi tiết máy có thể là chi tiết đơn hoặc là chi tiết phức. Chi tiết đơn: là chi tiết không chứa bên trong nó chi tiết khác. Thông tin của chi tiết đơn bao gồm: mã số chi tiết, giá tiền. Chi tiết phức: là chi tiết chứa bên trong nó nhiều chi tiết thành phần, mỗi một chi tiết thành phần này có thể là chi tiết đơn hoặc là chi tiết phức. Thông tin của chi tiết phức bao gồm: mã số chi tiết, số lượng chi tiết thành phần, danh sách các chi tiết thành phần. Giá tiền của chi tiết phức bằng tổng giá tiền của các chi tiết thành phần. Hãy vẽ sơ đồ lớp và viết chương cho phép: 1. Nhập các chi tiết cho máy. 2. Tìm kiếm một chi tiết máy theo mã số. 3. Tính tiền cho một chi tiết máy, hoặc cho máy. 4. Xuất các chi tiết máy. 5. Đếm số lượng chi tiết đơn có trong cái máy
  • 4. tthai/htthanh@fit.hcmus.edu.vn Trang 4 3 Bài 03 Xây dựng chương trình cho phép người dùng chọn một trong các kiểu cấu trúc dữ liệu như danh sách liên kết, danh sách liên kết có độ ưu tiên, ngăn xếp, hàng đợi, vec-tơ và sử dụng các thao tác cơ bản như thêm, xóa, sửa, tìm kiếm, lấy kích thước, xem nội dung trên kiểu cấu trúc được chọn. Lưu ý, chúng ta phải xây dựng một lớp riêng cho mỗi kiểu cấu trúc dữ liệu và tận dụng những kiểu dữ liệu sẵn có trong thư viện STL. 4 Bài 04 (đọc thêm) Công viên giải trí Liên Sơn mới mở một đường đi đặc biệt vượt qua các ngọn núi. Con đường này bao gồm n đoạn nối liền nhau, đoạn đầu tiên, luôn xuất phát từ từ độ cao 0. Byteman là người điều khiển, ông có thể điều chỉnh các đoạn - việc điều chỉnh là thay đổi độ cao các đầu mút của các đoạn liên tiếp nhau. Mỗi lần điều chỉnh một đoạn thì các đoạn theo sau sẽ được nâng lên hoặc hạ xuống để n đoạn luôn nối với nhau và duy trì đoạn đầu tiên luôn xuất phát từ độ cao là 0. Hình bên dưới mô tả hai ví dụ về cách điều chỉnh này. Mỗi lần bắt đầu một hành trình, các ôtô được nạp năng lượng để đi tới độ cao h. Điều đó có nghĩa là ôtô có thể tiếp tục hành trình miễn là độ cao của đoạn hiện tại không vượt quá h. Cho trước lịch các hành trình và các lần điều chỉnh xen kẽ trong ngày, với mỗi hành trình hãy tính số chặng mà mỗi ôtô đi được trước khi nó dừng lại. Trong bảng đó, mỗi chặng được biểu diễn bằng một dãy n sự thay đổi độ cao. Số thứ i trong dãy - di thể hiện sự thay đổi độ cao (centimét) tại đoạn thứ i. Giả sử sau khi đi qua i-1 đoạn ôtô đến độ cao h centimét, sau khi đi qua i đoạn, ôtô sẽ đạt đến độ cao h + di centimét. Ban đầu các đoạn đều nằm ngang, nghĩa là di = 0 với mọi i. Các lượt hành trình và sự điều chỉnh trên hành trình đan xen nhau trong cả ngày hoạt động. Mỗi lần điều chỉnh được xác định bằng 3 số: a, b và D. Các đoạn được chỉnh từ a đến b. Độ cao được chỉnh trong các đoạn này là D. Nghĩa là di = D với mọi a ≤ i ≤ b. Mỗi hành trình được xác định bởi một số h - độ cao lớn nhất mà ôtô có thể đến được. Nhiệm vụ: Viết chương trình cho phép  Đọc dữ liệu từ input chuẩn dãy các hành trình và các lần điều chỉnh.  Với mỗi hành trình hãy tính số đoạn mà ôtô đi được.  Viết kết quả ra output chuẩn.
  • 5. tthai/htthanh@fit.hcmus.edu.vn Trang 5 Hình 1: Hình ảnh minh họa ví dụ bên dưới Dữ liệu vào: Dòng đầu tiên chứa số nguyên dương n - số đoạn trên con đường, 1 ≤ n ≤ 1 000 000 000. Các dòng tiếp theo bao gồm các lần điều chỉnh xen kẽ với hành trình, sau đó là ký hiệu kết thúc. Mỗi dòng có thể là: sự điều chỉnh - một ký tự ‘I’ và các số nguyên a, b, D cách nhau bởi một dấu trắng (1 ≤ a ≤ b≤ n, -1 000 000 000 ≤ D ≤ 1 000 000 000); một hành trình - một ký tự ‘Q’ và số nguyên h (0 ≤ h ≤ 1 000 000 000) cách nhau bởi một dấu trắng; ký hiệu kết thúc – ký tự ‘E’. Dữ liệu ra: Dòng thứ i của output chứa một số nguyên là số đoạn mà xe du đi được trong hành trình thứ i.
  • 6. tthai/htthanh@fit.hcmus.edu.vn Trang 6 Lưu ý: Bất kỳ lúc nào độ cao nào cũng luôn nằm trong khoảng [0, 1 000 000 000] centimét. Dữ liệu vào chứa không quá 100 000 dòng. Có 50% test n thoả mãn 1 ≤ n ≤ 20 000 và dữ liệu vào chứa không quá 1000 dòng. Ví dụ: Dữ liệu vào Dữ liệu ra Q 1 I 1 4 2 Q 3 Q 1 I 2 2 -1 Q 3 E 4 1 0 3 5 Bài 05 (đọc thêm) Xem các bài hướng dẫn thực hành tuần 8 và 9.