QOJ.ac

QOJ

总分: 100 仅输出

#13207. Hành trình bất tận

统计

Ngày xưa có một đứa trẻ tên Kino rất thích du lịch và đã đến nhiều nơi kỳ lạ. Một hôm, cậu đến bên một cây cầu và thấy trên cầu có rất nhiều xe mui trần. Không may, cầu rất hẹp, chỉ đủ cho một xe đi qua theo chiều ngang. Các xe trên cầu không chịu nhường nhau, khiến xe đi từ hai phía đều bị kẹt, không thể qua được.

Sau đó, người xây cầu bổ sung một chức năng mới: xoay một đoạn cầu $180$ độ để các xe mui trần trên đoạn đó quay đầu, như hình dưới đây:

problem_13207_db856a6eac22df41583fcd230d494253.png

Hình 1. Các xe mui trần 321 sau khi xoay trở thành 123

Như hình trên, các xe 321 gặp các xe 45 trên cầu và gây tắc đường. Lúc này, ta có thể xoay đoạn 321, khiến thứ tự xe trên cầu trở thành 12345 và tất cả cùng hướng, nhờ đó chúng có thể rời cầu. Tất nhiên, đây chỉ là một ví dụ đơn giản. Tình hình trên cầu thực tế phức tạp hơn nhiều, cần xoay nhiều lần mới đưa được về dạng 12345.

Nhưng sau khi thiết kế xong cầu, người thiết kế cũng đi du lịch, và không ai trong số cư dân còn lại biết vận hành cây cầu kỳ diệu này. Vì thế, xe trên cầu ngày càng hỗn loạn, cuối cùng trở thành tình trạng hiện tại. Để qua cầu, Kino tìm được thiết bị điều khiển cùng sách hướng dẫn bên cầu, và tìm lại được cách vận hành. Với sự giúp đỡ của cư dân gần đó, cậu đã sắp xếp thành công các xe theo thứ tự $1,2,3,\ldots$ và cùng hướng. Bạn có biết cậu đã làm thế nào không?

Dữ liệu vào

Đây là bài nộp đáp án. Các tệp đầu vào convertible1.in đến convertible10.in đã có trong thư mục người dùng. Dòng đầu tiên chứa số xe mui trần trên cầu $n$, với các xe được đánh số $1,2,\ldots,n$. Dòng thứ hai mô tả vị trí và hướng của các xe bằng một dãy các giá trị $+i$ hoặc $-i$. Giá trị $-i$ tại vị trí thứ $j$ nghĩa là xe $i$ nằm ở vị trí thứ $j$ trên cầu và hướng sang phải; giá trị $+i$ nghĩa là xe $i$ nằm ở vị trí thứ $j$ và hướng sang trái.

Dữ liệu ra

Bạn phải đặt các tệp đầu ra convertible1.out đến convertible10.out trong thư mục người dùng, không cần nộp chương trình. Dòng đầu tiên chứa số lần xoay $m$. Mỗi dòng trong $m$ dòng tiếp theo mô tả một lần xoay, gồm vị trí biên trái và vị trí biên phải. Đầu ra phải bảo đảm dãy cuối cùng là $1,2,3,\ldots,n$, chứ không phải $-1,-2,-3,\ldots,-n$ hay dãy nào khác.

Ví dụ

Dữ liệu vào 1

5
-3 -2 -1 4 5

Dữ liệu ra 1

1
1 3

Nhiệm vụ con

Mỗi điểm kiểm tra có tối đa 10 điểm. Điểm nhận được phụ thuộc vào tỷ lệ mức độ tốt của đáp án của bạn so với đáp án tham khảo.

Cách kiểm tra chương trình

Bài này cung cấp trình kiểm tra dữ liệu đầu ra convertible_c. Cách chạy như sau:

#./convertible_c 3

Lệnh này kiểm tra tính hợp lệ của convertible3.out.


或者逐个上传:

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.