Mật khẩu của Vasya

Đề bài

Mô tả

Một mật khẩu hợp lệ là xâu chỉ gồm chữ cái Latin thường, chữ cái Latin hoa và chữ số, đồng thời phải chứa ít nhất một chữ số, ít nhất một chữ hoaít nhất một chữ thường.

Cho xâu s gồm các chữ cái Latin thường, chữ hoa và chữ số. Bạn phải thực hiện đúng một lần thao tác: chọn một xâu con liên tiếp của s và thay nó bằng một xâu khác có cùng độ dài, cũng chỉ gồm chữ thường, chữ hoa và chữ số. Sau thao tác, s phải trở thành mật khẩu hợp lệ.

Độ dài của xâu con bị thay được tính như sau: xét tất cả các vị trí bị đổi ký tự. Nếu không có vị trí nào thì độ dài bằng 0; ngược lại độ dài bằng vị trí cuối cùng trừ vị trí đầu tiên rồi cộng 1. Ví dụ, biến đổi abcdef thành a7cdEf có các vị trí thay đổi là 25, nên độ dài bằng (52)+1=4.

Hãy đưa ra một mật khẩu hợp lệ sao cho độ dài xâu con bị thay là nhỏ nhất có thể. Dữ liệu đảm bảo luôn tồn tại đáp án.

Dữ liệu vào

  • Dòng đầu chứa số nguyên T: số lượng bộ dữ liệu.
  • T dòng tiếp theo, mỗi dòng chứa một xâu s gồm chữ cái Latin thường, chữ hoa và chữ số.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một dòng chứa mật khẩu thu được. Nếu có nhiều đáp án cùng đạt độ dài nhỏ nhất, in ra bất kỳ đáp án nào.

Ràng buộc

  • 1T100
  • 3|s|100

Ví dụ

Input Output Giải thích
2
abcDCE
htQw27
0bcDCE
htQw27
Xâu abcDCE thiếu chữ số, chỉ cần đổi 1 vị trí: thay a bằng 0 (độ dài 1). Xâu htQw27 đã hợp lệ nên không đổi gì, độ dài bằng 0.
3
afd
142
TRE
A0d
aA2
a0E
afd chỉ có chữ thường, thiếu 2 loại nên phải đổi ít nhất 2 vị trí; chọn hai vị trí liền nhau để độ dài đúng bằng 2. Tương tự với 142 và TRE.

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.47 awk 1.3.4 gcc 16.2.0 csc 6.12.0.200 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0