Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt...

0 голосов
928 просмотров

Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Как известно, цепочка ДНК формируется из четырёх аминокислот, обозначаемых соответственно буквами ‘ A’, ‘ C’, ‘ G’ и ‘ T’. Таким образом, цепочку можно представить в виде строки, составленной из этих букв.
Известно, что у всех марсианских видов цепочка ДНК состоит из чётного числа аминокислот и что у марсианских животных цепочка ДНК обладает следующим свойством: она читается слева направо так же, как и справа налево (то есть является палиндромом), при этом каждая из её половин также читается слева направо так же, как и справа налево. Не обладающие таким свойством цепочки принадлежат растениям.
На практическом занятии по биологии на марсианской Летней олимпиадной школе дали задание — по заданной цепочке ДНК вымершего марсианского вида выяснить, принадлежит ли эта цепочка животному.
Формат ввода

Вход содержит цепочку ДНК — одну непустую строку, состоящую из символов ‘ A’, ‘ G’, ‘ T’ и ‘ C’. Гарантируется, что длина строки чётна и не превосходит 100.
Формат вывода

Если данная цепочка принадлежит марсианскому животному, выведите “ YES”. Иначе выведите “ NO”.


Информатика (12 баллов) | 928 просмотров
Дан 1 ответ
0 голосов

Var
s:string;
t,c:string;
function Palindrome(s:string):boolean;
var
i:integer;
begin
  for i:= 1 to s.Length div 2 do
    if s[i] <> s[s.Length-i+1] then
      begin
      Palindrome:=false;
      exit;
      end;
  Palindrome:= true;
end;

begin
  Readln(s);
  c:=copy(s,1, s.Length div 2);
  t:=copy(s,s.Length div 2 + 1, s.Length);
  if (Palindrome(s))and(Palindrome(c))and(Palindrome(t)) then
    Writeln('YES')
  else
    Writeln('NO');
end.

Пример:
ACAACA
YES


(8.8k баллов)