USACO 2013 - Scrambled Letters

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Farmer John dán trên cửa chuồng một danh sách \(N\) con bò (\(1 \le N \le 50\,000\)) được sắp xếp theo thứ tự bảng chữ cái. Tên mỗi con bò được biểu diễn bằng một chuỗi phân biệt gồm từ 1 đến 20 ký tự chữ thường.

Vốn luôn thích gây rắc rối, bò Bessie thay đổi danh sách bằng cách sắp xếp lại thứ tự các con bò. Ngoài ra, cô còn xáo trộn các chữ cái trong tên của từng con bò. Cho danh sách đã bị thay đổi này, hãy giúp Farmer John tính, đối với mỗi mục trong danh sách, vị trí nhỏ nhất và lớn nhất mà mục đó có thể từng xuất hiện trong danh sách ban đầu.

Dữ liệu vào

  • Dòng 1 chứa một số nguyên duy nhất \(N\).
  • Các dòng \(2..1+N\): mỗi dòng chứa tên đã bị xáo trộn thứ tự các chữ cái của một con bò.

Dữ liệu ra

  • Các dòng \(1..N\): dòng \(i\) cho biết vị trí nhỏ nhất và lớn nhất trong danh sách ban đầu của Farmer John mà phiên bản gốc của chuỗi đầu vào thứ \(i\) có thể từng xuất hiện.

Ví dụ

Ví dụ 1

Input
4
essieb
a
xzy
elsie
Output
2 3
1 1
4 4
2 3
Giải thích

Chuỗi "a" luôn xuất hiện đầu tiên trong danh sách của FJ bất kể thế nào, và tương tự, chuỗi "xzy" luôn xuất hiện cuối cùng bất kể các chữ cái của nó ban đầu được sắp xếp ra sao. Hai chuỗi "essieb" và "elsie" đều có thể chiếm vị trí 2 hoặc 3, tùy thuộc vào thứ tự chữ cái ban đầu của chúng (ví dụ, "bessie" ở vị trí 2 và "elsie" ở vị trí 3, so với "sisbee" ở vị trí 3 và "ilees" ở vị trí 2).

Nguồn

USACO 2012 December Contest, Bronze — Problem 2: Scrambled Letters

Tác giả đề: Brian Dean, 2012.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: