Trong quản trị an ninh mạng, việc lọc log hoặc luật tường lửa thường yêu cầu kiểm tra một chuỗi ký tự có phải là địa chỉ IPv4 hợp lệ hay không trước khi xử lý tiếp.
Một chuỗi s được coi là địa chỉ IPv4 hợp lệ (dạng thập phân có dấu chấm - dotted-decimal) nếu thoả mãn đồng thời:
. (ví dụ 192.168.1.1).0-9 (không có dấu +, -, khoảng trắng, chữ cái...)."0". Nói cách khác "0" hợp lệ nhưng "00", "01", "010" đều không hợp lệ.Với mỗi chuỗi cho trước, hãy xác định đó có phải địa chỉ IPv4 hợp lệ hay không.
Ví dụ:
Input:
5
192.168.1.1
256.100.50.1
192.168.01.1
0.0.0.0
255.255.255.255
Output:
VALID
INVALID
INVALID
VALID
VALID
(256.100.50.1 sai vì 256 > 255; 192.168.01.1 sai vì nhóm 01 có số 0 dư ở đầu.)
Dòng đầu tiên chứa số nguyên n (1≤n≤1000) — số lượng chuỗi cần kiểm tra.
n dòng tiếp theo, mỗi dòng là một chuỗi s (có thể rỗng, độ dài không quá 50 ký tự, không chứa khoảng trắng ở đầu/cuối có ý nghĩa — nếu có sẽ được loại bỏ trước khi kiểm tra).
In ra n dòng. Dòng thứ i in VALID nếu chuỗi thứ i là địa chỉ IPv4 hợp lệ, ngược lại in INVALID.
Ví dụ:
Đầu vào:
5
192.168.1.1
256.100.50.1
192.168.01.1
0.0.0.0
255.255.255.255
Đầu ra:
VALID
INVALID
INVALID
VALID
VALID
Đầu vào:
6
127.0.0.1
1.2.3.4
10.20.30.400
010.0.0.1
1.1.1
1.2.3.4.5
Đầu ra:
VALID
VALID
INVALID
INVALID
INVALID
INVALID
Đang tải editor...