[C10_TG_23] Mật khẩu wifi

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: stdin
Output: stdout

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

Hôm nay, thầy giáo Tin học của lớp Bo thấy các bạn học chăm chỉ nên sau giờ thực hành, thầy cho các em truy cập wifi để giải trí. Để vào wifi, các em cần có một mật khẩu. Thầy cho một xâu ~s~ gồm các kí tự in thường trong bảng chữ cái tiếng Anh và kí tự *. Xâu mật khẩu có được bằng cách: đi theo thứ tự từ trái qua phải của xâu ~s~, các em thay mỗi kí tự * trong xâu ~s~ bằng một kí tự in thường (ưu tiên chọn kí tự đứng trước trong bảng chữ cái để thay), nhưng đảm bảo số lần xuất hiện của mỗi kí tự ~c~ trong xâu ~s~ đúng bằng ~f_c~ (với ~c~ là một kí tự trong bảng chữ cái từ a đến z).

Yêu cầu

Hãy cho biết xâu mật khẩu.

Dữ liệu đầu vào

Gồm hai dòng:

  • Dòng thứ nhất chứa xâu ~s~ chỉ gồm các kí tự in thường và kí tự * ~(1 \le |s| \le 10^5)~;
  • Dòng thứ hai gồm ~26~ số nguyên không âm ~f_a f_b, ...., f_z~ tương ứng là số lần xuất hiện của các kí tự từ a đến z trong xâu ~s~, giữa các số được cách nhau bởi một dấu cách ~(0 \le f_c \le 10^5,\ a \le c \le z)~.

Dữ liệu vào đảm bảo xâu ~s~ khác rỗng, luôn có ký tự * trong xâu ~s~ và tổng ~f_a + f_b + ... + f_z~ đúng bằng số lượng kí tự * có trong xâu ~s~.

Dữ liệu đầu ra

Gồm xâu mật khẩu.

Ví dụ

Ví dụ 1
INPUT
bc*m**a
1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
OUTPUT
bcamdda

Giải thích: Có ~3~ dấu * trong xâu ~s~.

  • Dấu * thứ nhất được thay bởi kí tự a (vì ~f_a = 1~).
  • Dấu * thứ hai và thứ ba được thay bởi kí tự d (vì ~f_d = 2~).
Ví dụ 2
INPUT
y*e**z*
0 0 0 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
OUTPUT
ydedfzz

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.