Ім′я вхідного файлу:
Ім′я вихідного файлу:
Обмеження по часу:
Обмеження по пам′яті:
|
password.in
password.out
1 сек
64 мегабайт
|
Одного разу Степан вирішив на своєму комп′ютері
встановити пароль. Він дізнався, що пароль є криптостійким, якщо він включає в
себе і малі латинські букви, і великі латинські букви, і цифри, при цьому його
довжина має бути не менше 8 символів.
Необхідно написати програму, яка по даному паролю
визначає, чи є він криптостійким.
Формат вхідних даних: вхідний файл містить один рядок,
у якому можуть бути тільки цифри, маленькі та великі латинські літери.
Кількість символів у рядку не перевищує 10000.
Формат вихідних даних: єдиний рядок вихідного файлу має
містити слово YES, якщо заданий пароль є криптостійким, і NO – в іншому випадку (великими
латинськими буквами).
Приклади вхідних та вихідних даних:
password.in
|
password.out
|
1aA
|
NO
|
Aa2BCc12
|
YES
|
AAAaaaAAA
|
NO
|
Мій варіант розв'язання
var
p:string;
i,n,k,c:integer;
label h,m,s,z;
begin
writeln('Passvord=');
read(p);
i:=0;
k:=0;
c:=0;
n:=length(p);
if n<8 then begin
writeln('NO');
goto m;
end;
h:if i<=n then
if (i+1)<=n then begin
i:=i+1;
if
p[i] in ['A'..'Z'] then goto s
else
goto h;
end;
s:if k<=n then
if (k+1)<=n then begin
k:=k+1;
if
p[k] in ['a'..'z'] then
goto z
else
goto z;
end;
z:if c<=n then
if
(c+1)<=n then begin
c:=c+1;
if p[c]
in ['0'..'9'] then begin
writeln('YES');
goto m;
end
else goto z;
end;
writeln('no');
m:end.
|