Xử lí thông tin cho giải chạy

(Croatia HSIN 2005 - THPT, ngày 2 bài 1)

Đề bài Để ngăn tệ chạy tắt và đi nhờ, một đường chạy đua có K cột mốc đánh số từ 1 đến K được gắn cảm biến. Khi runner chạy qua một cột mốc cảm biến tại đó sẽ ghi nhận mã số của bib (thẻ gắn trên áo) và chuyển đến trung tâm thông tin. VĐV phải chạy qua đủ K cột mốc theo đúng thứ tự từ 1 đến K với tốc độ hợp lí thì mới tính là chạy đủ một vòng. Với vạch xuất phát nằm trước cột mốc số 1 và dữ liệu của trung tâm, cho biết thứ hạng hiện tại của các runner.

I/O

  • Input: stdin
    • Dòng 1: Số VĐV, số cột mốc và số dòng báo cáo
    • Mỗi dòng tiếp theo gồm số bib của VĐV và số hiệu cột mốc
  • Output: stdout
    • Lần lượt: số hiệu VĐV đứng nhất, nhì, …

Ví dụ:

stdín
5 3
140 1
089 1
066 1
140 2
039 1
077 2 <-- đề không sai đâu
039 2
066 2
140 3
066 3
089 2
039 3
140 3

stdout
140 066 039 089


stdin
4 2
684 1
230 1
087 1
096 1
230 2
684 2
096 2
230 1
087 2
684 1
096 1

stdout
230 684 096 087

Giới hạn

  • Số VĐV không quá 1000, số bib là số tự nhiên từ 000 đến 999
  • Số cột mốc không quá 100
  • Số dòng dữ liệu input không quá 100000
4 Likes

Bài này chắc dùng map key là int, value là vector cho nó nhẹ đầu.
Cứ mỗi lần bip thì check, nếu không có mốc trước đó thì không lưu.
Rồi so giữa những người đã đạt mốc tối đa để xếp hạng.

3 Likes

039 + 077: Gian lận, sao 039 vẫn được xếp hạng nhỉ? :thinking:
140: Cán đích 2 lần??? Chắc do chạy lòng vòng ăn mừng hả? :+1:

3 Likes

Đã sửa rồi bạn :smiley:
140: sẽ có trường hợp dừng lại ở gần một mốc.

3 Likes

089 chưa qua số cột mốc số 3 thi sao được xếp hạng 3 vậy rogp10 :kissing:

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?