trang chủ / bài tập / strconcat

Xâu nối nhỏ nhất

Đề bài

Mô tả

Cho một danh sách gồm n xâu a1,a2,,an. Bạn cần nối tất cả các xâu này lại với nhau theo một thứ tự nào đó sao cho xâu kết quả có thứ tự từ điển nhỏ nhất.

Hãy in ra xâu nối có thứ tự từ điển nhỏ nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n, số lượng xâu.
  • Trong n dòng tiếp theo, mỗi dòng chứa một xâu ai chỉ gồm các chữ cái Latin thường.

Dữ liệu ra

  • In ra một xâu duy nhất: xâu nối có thứ tự từ điển nhỏ nhất.

Ràng buộc

  • 1n5·104
  • 1|ai|50
  • Tổng độ dài các xâu không vượt quá 5·104.

Ví dụ

Input Output Giải thích
4
abba
abacaba
bcd
er
abacabaabbabcder Thứ tự tối ưu là abacaba, abba, bcd, er.
5
x
xx
xxa
xxaa
xxaaa
xxaaaxxaaxxaxxx Không phải sắp xếp theo thứ tự từ điển thông thường: xxaaa đứng trước xx cho kết quả nhỏ hơn.
3
c
cb
cba
cbacbc Thứ tự tối ưu là cba, cb, c.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0