Республиканская олимпиада по информатике 2015–2016, Этап 2, Тур 1, 5 часов

Енгізу файлының аты / Имя входного файла: A.in
Шығару файлының аты / Имя выходного файла: A.out
Есептің жауабы файлының аты / Имя файла решения задачи: A.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени: 1 секунд
Жадыға шектеу / Ограничение по памяти: 64 мегабайт

A есебі Жол
Сізге екі жол s пен t берілген. Екі жолда да кездесетін  ең үлкен жолдың ұзындығын табыңыз.
 
Мәліметтерді енгізу форматы
Берілгеннің бірінші жолында s берілген. Екінші жолында t берілген. Жолдар тек қана кішкентай ағылшын әріптерден тұрады. 1 <= жолдардың ұзындығы <= 1,000.
Мәліметтерді шығару форматы
Тапсырманың жауабын шығарыңыз.
 
Мысал / Пример

A.in A.out Комментарий
kazakhstan astana 4 stan

 
Задача A Строка

Вам даны две строки s и t, определите длину наибольшей строки, которая встречается в обеих.
Формат входных данных
Первая строка входных данных содержит строку s, вторая строка содержит строку t. Обе строки состоят только из строчных латинских букв. 1 <= длина строк <= 1,000.
Формат выходных данных
Выведите оnвет к задаче.
 
Program uzyn_jol;
Var
s,t : String;
i,j : Integer;
Begin
Readln(s);
Readln(t);
For i:=Length(s) downto 1 do
For j:=1 to Length(t)-i+1 do
If Pos(Copy(s,j,i),t)>0 then
Begin
Writeln(‘Ortak en uzyn soz: ‘,Copy(s,j,i));
Halt(0);
end;
Writeln(‘ortak uzyn soz jok.’);
end.

Енгізу файлының аты / Имя входного файла: C.in
Шығару файлының аты / Имя выходного файла: C.out
Есептің жауабы файлының аты / Имя файла решения задачи: C.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени: 1 секунд
Жадыға шектеу / Ограничение по памяти: 64 мегабайт

C есебі Әртүрлі цифрлар
Барлық цифралары әртүрлі L-мен R арасындағы бүтін сандардың санын санаңыз.

Мәліметтерді енгізу форматы
Берілгеннің бірінші жолында L-мен R берілген, 1 <= L <= R <= 100,000,000.
Мәліметтерді шығару форматы
Тапсырманың жауабын шығарыңыз.

Мысал / Пример

C.in C.out Комментарий
11 22 10

Задача C Различные цифры
Посчитайте количество целых чисел от L до R, все цифры которых различны.
Формат входных данных
Единственная строка входных данных содержит два целых числа L и R, 1 <= L <= R <= 100,000,000.
Формат выходных данных
Выведите ответ к задаче.

Кіріс/шығыс файлынсыз.

program summa_cifr;
var l, r:longint;
i, n : integer;
begin
writeln(‘vvedite Lmin, Rmax ‘);
read(r,l);
n := 0;
for i := l to r do
if ((i mod 10) <> ((i div 10) mod 10)) and
((i mod 10) <> (i div 100)) and
((i div 100) <> ((i div 10) mod 10)) then
begin
write(i:4);
inc(n)
end;
writeln;
writeln(‘әртүрлі сандар: ‘, n);
readln
end.

Енгізу файлының аты / Имя входного файла: B.in
Шығару файлының аты / Имя выходного файла: B.out
Есептің жауабы файлының аты / Имя файла решения задачи: B.{c,cpp,pas}
Уақыт шектеу / Ограничение по времени: 1 секунд
Жадыға шектеу / Ограничение по памяти: 64 мегабайт

B есебі Жоғалған сан
Сізге 1-ден (N + 1)-ге дейінгі бүтін сандар берілген. Ол сандардың арасында біреуі жеткіліксіз, сол санды табыңыз.
Мәліметтерді енгізу форматы
Берілгеннің бірінші жолында бір бүтін сан 1 <= N <= 100,000 берілген. Екінші жолда пробелмен бөлінген 1-ден (N + 1)-ге дейінгі N бүтін сан берілген.
Мәліметтерді шығару форматы
Тапсырманың жауабын шығарыңыз.
Мысал / Пример

B.in B.out Комментарий
5
3 2 1 5 6
4

Задача B Потерянное число
Вам даны все целые числа от 1 до N + 1, кроме одного. Найдите отсутствующее число.
Формат входных данных
В первой строке входных данных записано целое число 1 <= N <= 100,000. Во второй строке через пробел даны N целых чисел в диапазоне от 1 до N + 1.
Формат выходных данных
Выведите ответ к задаче.

Кіріс/шығыс файлынсыз

program jogalgan_san;
var i,j,n,r:longint;
x:array[1..100000] of longint;
label 2;

begin
2: write(‘kansha san n<100000= ‘);
read(n); if n>100000 then goto 2;
writeln(‘sandar tizbegi ‘);
for i:=1 to n do read(x[i]);

for i := 1 to n-1 do
for j := 1 to n-i do
if x[j] > x[j+1] then begin
r := x[j];
x[j] := x[j+1];
x[j+1] := r
end;

for i:=1 to n-1 do

if x[i]+1<>x[i+1] then write (x[i]+1:4);

end.

Кіріс/шығыс файлы бар. Файлдар программамен бір папакада тұрады.

program jogalgan_san;
var i,j,n,r:longint;
x:array[1..100000] of longint; f,f1:text;
label 2;

begin
Assign(f,’inpA.txt’);
Assign(f1,’outpA.txt’);
2: write(‘kansha san n<100000= ‘);
read(n); if n>100000 then goto 2;
writeln(‘sandar tizbegi ‘);
Reset(f);
for i:=1 to n do Read(f,x[i]);

for i := 1 to n-1 do
for j := 1 to n-i do
if x[j] > x[j+1] then {osu reti}
begin
r := x[j];
x[j] := x[j+1];
x[j+1] := r
end;
Rewrite(f1);
for i:=1 to n-1 do

if x[i]+1<>x[i+1] then write (f1,x[i]+1:4);
close(f1); close(f);
end.

Check Also

Информатитка пәнінен олимпиадаға даярлаудың тиімді жолдары

Жуалы ауданы, №2 Мыңбұлақ орта мектебі информатика пәні мұғалімі Сабиев Бахытжан Төребайұлы.  Олимпиада – бұл …

5 комментариев

  1. 1) А есебінде екі жолда да кездесетін ең үлкен жолдың ұзындығын табыңыз деген.
    2) stan сөзінің ұзындығы 4-ке тең болғандықтан жауабында 4 шығуы керек.
    3) Программада қате бар.

  2. С есебінің программасында әр түрлі сандар саны 0 деген жауап шығып тұр.
    Дұрысы мынадай болады:
    program summa_cifr;
    var l, r:longint;
    i, n : integer;
    begin
    writeln(‘vvedite Lmin, Rmax ‘);
    read(r,l);
    n := 0;
    for i :=r to l do
    if ((i mod 10) ((i div 10) mod 10)) and
    ((i mod 10) (i div 10)) and
    ((i div 100) ((i div 10) mod 10)) then
    begin
    write(i:4);
    inc(n)
    end;
    writeln;
    writeln(‘әр түрлі сандар саны: ‘, n);
    readln;
    end.

  3. Еркін рахмет! жаа бер.

  4. Енгізу файлының аты / Имя входного файла: A.in
    Шығару файлының аты / Имя выходного файла: A.out
    Есептің жауабы файлының аты / Имя файла решения задачи: A.{c,cpp,pas}
    Уақыт шектеу / Ограничение по времени: 1 секунд
    Жадыға шектеу / Ограничение по памяти: 64 мегабайт

    A есебі Жол
    Сізге екі жол s пен t берілген. Екі жолда да кездесетін ең үлкен жолдың ұзындығын табыңыз.

    Мәліметтерді енгізу форматы
    Берілгеннің бірінші жолында s берілген. Екінші жолында t берілген. Жолдар тек қана кішкентай ағылшын әріптерден тұрады. 1 <= жолдардың ұзындығы 0 then
    Begin
    c:=Length(Copy(s,j,i));
    Writeln(‘Ең үлкен жолдың ұзындығы: ‘,c);
    Halt(0);
    end;
    Writeln(‘Ортақ ең үлкен жол жоқ’);
    end.

  5. А есебінің программасы: Сізге екі жол s пен t берілген. Екі жолда да кездесетін ең үлкен жолдың ұзындығын табыңыз.
    Program en_uzyn_jol;
    Var
    s,t : String;
    i,j, c: Integer;
    Begin
    Readln(s);
    Readln(t);
    For i:=Length(s) downto 1 do
    For j:=1 to Length(t)+1 do
    If Pos(Copy(s,j,i),t)>0 then
    Begin
    c:=Length(Copy(s,j,i));
    Writeln(‘Ең үлкен жолдың ұзындығы: ‘,c);
    Halt(0);
    end;
    Writeln(‘Ортақ ең үлкен жол жоқ’);
    end.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.