[Buổi 10][Củng cố mảng một chiều][WS] Bài 1: Array Toolkit
Array Toolkit
Bối cảnh
Bạn đang xây một bộ công cụ xử lý danh sách số nguyên bằng mảng tĩnh.
Chương trình nhận một mảng ban đầu, sau đó thực hiện tuần tự các lệnh. Sau mỗi lệnh thay đổi dữ liệu, trạng thái mảng mới phải được dùng cho lệnh tiếp theo.
Yêu cầu
- Lệnh
1 pos: xóa phần tử tại index pos. - Lệnh
2 pos value: chèn value vào index pos. - Lệnh
3: đảo ngược mảng tại chỗ. - Lệnh
4 L R: in tổng đoạn index L..R. - Lệnh
5: in mảng hiện tại. - Lệnh
0: kết thúc. - Giả sử mọi pos/L/R trong input đều hợp lệ và mảng luôn còn đủ sức chứa.
Yêu cầu tổ chức code
Không dùng vector hoặc STL algorithms. Mọi thay đổi phải thao tác trực tiếp trên mảng tĩnh.
Online Judge chủ yếu chấm output. Yêu cầu tổ chức code giúp bảo đảm học viên luyện đúng kỹ năng của buổi học.
Input
Dòng 1: n. Dòng 2: n số. Sau đó là các lệnh, kết thúc bằng 0.
Output
Mỗi lệnh 4 hoặc 5 tạo một dòng output.
Ràng buộc
1 ≤ n ≤ 1000, tổng số phần tử không vượt 2000, số lệnh ≤ 1000.
Ví dụ 1
Input
5
1 2 3 4 5
5
0
Output
1 2 3 4 5
Giải thích
Lệnh 5 yêu cầu in mảng hiện tại nên output là 1 2 3 4 5.
Ví dụ 2
Input
5
1 2 3 4 5
1 2
5
0
Output
1 2 4 5
Giải thích
Lệnh 1 2 xóa phần tử index 2 là 3. Mảng trở thành 1 2 4 5; lệnh 5 in đúng trạng thái mới.
Thông tin học tập
- Module: M03
- Buổi: B10
- Loại bài: WORKSHOP
- Độ khó: Medium
- Concepts: static arrays, insertion, deletion, reverse, prefix sum, command processing
- Giới hạn kiến thức: B01-B10
- Time limit: 2 second(s)
- Memory limit: 256 MB
- Point: 100
Comments