
Encryption
Cho một xâu s
chưa được chuẩn hóa có độ dài là L. Hãy chuẩn hóa và tách nó thành từng hàng, từng cột theo quy tắc sau:
- Số hàng ≥ Số tự nhiên liền trước √L
- Số cột = Số tự nhiên liền sau √L
Sau đó mã hóa đơn giản xâu s
bằng cách ghép từng cột chữ lại với nhau để cho ra kết quả cuối cùng.
Lưu ý:
- Xâu đã chuẩn hóa là xâu không có khoảng trắng.
- Trong hàng có thể có cột trống, và số cột trống phải là ít nhất.
Ví dụ:
- Với
s = "haveaniceday"
thìencryption(s) = "haeandviaecy"
.
Giải thích:
Độ dài củas
là 12 (L = 12). √L nằm giữa 3 và 4, vậy số hàng là 3, số cột là 4.
Xâus
sau khi được tách ra thành 3 hàng và 4 cột sẽ như sau:
have anic eday
Lấy chữ cái của từng cột ta sẽ được
"hae"
,"and"
,"via"
,"ecy"
. Ghép chúng lại với nhau ta sẽ được :"haeandviaecy"
.
Đầ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] String
1 < s.length < 2*10ˆ6
- [Đầu ra] String
Post Comment