Tài khoản (đề HSG 12 Quảng Ninh 2023)

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: acco.inp
Output: acco.out

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

An có một phần mềm máy tính, người dùng muốn sử dụng được phần mềm này thì phải đăng ký tài khoản. Tuy nhiên, với số lượng người dùng ngày càng nhiều, có thể xảy ra việc người dùng đăng ký tài khoản trùng nhau (tên tài khoản của người đăng ký sau trùng với tên tài khoản của người đã đăng ký trước đó). Để xử lý việc này, An nghĩ ra một ý tưởng như sau:

  • Nếu tên tài khoản người dùng đăng ký chưa được lưu trong hệ thống thì người dùng sẽ được đăng ký với đúng tên tài khoản đó;
  • Nếu tên tài khoản người dùng muốn đăng ký trùng với một tên tài khoản đã được đăng ký trước đó thì hệ thống sẽ tự động thêm một số nguyên dương nhỏ nhất vào sau tên tài khoản đó sao cho tên tài khoản mới chưa được đăng ký.

Ví dụ: giả sử trong hệ thống đã tồn tại tên tinhoc mà người dùng tiếp theo đăng ký trùng tên thì sẽ được lưu tên tài khoản là tinhoc1; tương tự, nếu có thêm người dùng đăng ký trùng tên tinhoc thì hệ thống sẽ lưu tiếp theo là tinhoc2, tinhoc3.

Bạn hãy giúp An lập trình để thực hiện ý tưởng của mình.

Dữ liệu

  • Dòng đầu tiên chứa số nguyên dương ~n~ (~1 \le n \le 10^4~) là số lượng tên tài khoản mà người dùng muốn đăng ký.
  • ~n~ dòng tiếp theo, dòng thứ ~i~ chứa một xâu ký tự ~s~ chỉ gồm các chữ cái in thường a ... z và có độ dài không quá 10 ký tự, là tên tài khoản mà người dùng thứ ~i~ muốn đăng ký.

Kết quả

Gồm ~n~ dòng, dòng thứ ~i~ là tên tài khoản của người dùng thứ ~i~ được lưu trong hệ thống.

Ví dụ

ACCO.INP

10
ngoc
mai
hung
mai
dung
mai
huy
ngoc
mai
mai

ACCO.OUT

ngoc
mai
hung
mai1
dung
mai2
huy
ngoc1
mai3
mai4

Giới hạn

  • Subtask 1 (20% số điểm): ~n \le 10^2~;
  • Subtask 2 (20% số điểm): ~n \le 10^3~;
  • Subtask 3 (60% số điểm): không có thêm ràng buộc nào.

Bình luận

Hãy đọc nội quy trước khi bình luận.


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