
secretLet
Vào một hôm đẹp trời, P dọn dẹp lại đống đồ cũ trong nhà kho. Trong lúc dọn dẹp, vô tình hàng loạt những tờ giấy với những con số rơi ra khỏi tệp phong bì. Vì tò mò P đã cầm lên xem và vô cùng phấn khích khi biết được rằng đây là những bức thư tình mà ông nội đã gửi bà nội của P thời trai trẻ. P muốn đọc nó vô cùng nhưng khổ nỗi, ông là người thích con số, thích những chữ cái và thích vả việc biến đổi chúng nên đã viết thư này bằng mã ascii
của những kí tự qua vài bước biến đổi. Thế nên nhìn những con số trong bức thư này P vô cùng khó hiểu. Loay hoay 1
hồi P đã biết cách chúng được mã hóa như sau:
- Những kí tự là chữ cái:
- Nếu mã
ascii
chẵn thì nhân số đó với2
và cộng thêm1.
- Nếu lẻ thì nhân đôi.
- Nếu mã
- Những kí tự khác: không thay đổi giữ nguyên mã
ascii.
Nhưng khổ nỗi có quá nhiều những con số và P không thể tự thực hiện được việc này bằng tay, hãy giúp P đọc được những bức thư này bằng việc biến đổi những con số về kí tự ban đầu.
Ví dụ:
- Với
arr =[201,194,210,32,209,222,198,32,197,194,198,209,32,214,209,222,194,32,209,194,32,221,222,210]
.- Thì
secret(arr) =
"dai hoc bach khoa ha noi"
.
- Thì
- Với
arr =
[198,222,201,202,217,202,194,229,221]
.- Thì
secret(arr) = "codelearn"
.
- Thì
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
-
[Đầu vào] array.long arr
0 ≤ arr[i] ≤ 255
0 ≤ arr.length ≤ 106 -
[Đầu ra] String
Trả về chuỗi đã mã hóa theo chuẩn trên.
Post Comment