cpp-324Đọc toàn bộ đề miễn phí

Đảo nửa sau của mảng bằng std::deque

Nhiều phép biến đổi mảng chỉ tác động lên một đoạn nằm ở cuối dãy. Nếu đoạn đó bắt đầu ở giữa

C++Cơ bản13 phút

Tiến độ của tôi ở bài này

Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

data-structuresdequearray-manipulationentry-ramp

Kiến thức tiên quyết: cpp-basics, arrays.

Nội dung đề bài

Mô tả bài toán

Nhiều phép biến đổi mảng chỉ tác động lên một đoạn nằm ở cuối dãy. Nếu đoạn đó bắt đầu ở giữa dãy thì ta cần một cấu trúc truy cập được cả hai đầu và mọi vị trí ở giữa, chẳng hạn std::deque, để đổi chỗ hai đầu đoạn rồi thu hẹp dần vào trong.

Yêu cầu

Cho một mảng gồm n số nguyên đánh số từ 1 đến n. Nửa sau của mảng gồm n / 2 phần tử cuối cùng (phép chia lấy phần nguyên). Hãy đảo ngược nửa sau đó tại chỗ và in ra mảng sau khi biến đổi. Khi n <= 3, nửa sau chỉ có 0 hoặc 1 phần tử nên mảng giữ nguyên.

Quy ước nộp bài

Nộp chương trình solution.cpp đọc dữ liệu từ stdin và in kết quả ra stdout. In đúng dãy số trên một dòng duy nhất, không in thêm chữ nào khác.

Input

  • Dòng thứ nhất: số nguyên n là số phần tử (1 <= n <= 20).
  • Dòng thứ hai: n số nguyên cách nhau bởi dấu cách (|giá trị| <= 10000).

Output

  • Một dòng duy nhất chứa n số nguyên của mảng sau khi đảo nửa sau, cách nhau đúng một dấu

cách.

Ràng buộc

  • 1 <= n <= 20, |giá trị| <= 10000.
  • Nửa sau là các phần tử ở vị trí n / 2 + 1 đến n theo cách đánh số từ 1.
  • Thời gian cho mỗi bộ dữ liệu là 1 giây.

Ví dụ 1

Input

5
1 2 3 4 5

Output

1 2 3 5 4

Ví dụ 2

Input

6
1 2 3 4 5 6

Output

1 2 3 6 5 4

Giải thích

Với dữ liệu vào:

n / 2 = 2, nửa sau là 4 5, đảo lại thành 5 4, nên kết quả là:

Với dữ liệu vào:

n / 2 = 3, nửa sau là 4 5 6, đảo lại thành 6 5 4, nên kết quả là:

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.

Nhóm Zalo