snezhanaklimenkova
?>

5. шифр мистера фокса мистер фокс узнал новый алгоритм шифрования: нужно взять строку, которую хочешь зашифровать, вставить между любыми двумя буквами две произвольные одинаковые буквы, с получившейся строкой повторить ту же операцию и так далее, пока не надоест. например, строку фокс можно зашифровать так: фаззаояякввс. мистер фокс зашифровал название своего любимого дикого животного и предлагает вам расшифровать его: . в качестве ответа укажите название любимого животного мистера фокса, записанное заглавными буквами, например, лев.

Информатика

Ответы

bergamon
Зебра (ЗЕБРА)
DodokhodzhaevVladimirovich
PascalABC.NET 3.3.5, сборка 1644 от 23.03.2018
Внимание! Если программа не работает, обновите версию!

function SubArray(subarr,arr:array of integer):integer;
begin
  var ns:=subarr.Length;
  var p1:=arr.Length-ns; // поиск на [0..p1]
  var ii:=arr[:p1+1].IndexesOf(t->t=subarr[0]);
  Result:=-1;
  foreach var i in ii do
    if arr[i:i+ns].Zip(subarr,(a,b)->a=b).All(t->t) then begin
      Result:=i;
      exit
      end
end;

begin
  var a:=ReadArrInteger('Введите элементы:',ReadInteger('n='));
  var b:=ReadArrInteger('Введите элементы:',ReadInteger('n='));
  var p:integer;
  if a.Length<b.Length then begin
    p:=SubArray(a,b);
    if p>-1 then Writeln('Первый массив является подмассивом с позиции ',p+1)
    else Writeln('Подмассив не обнаружен')
    end
  else begin
    p:=SubArray(b,a);
    if p>-1 then Writeln('Второй массив является подмассивом с позиции ',p+1)
    else Writeln('Подмассив не обнаружен')
    end
end.

Примеры
n= 4
Введите элементы: 1 2 3 4
n= 11
Введите элементы: 0 1 2 3 1 4 1 2 3 4 5
Первый массив является подмассивом с позиции 7

n= 4
Введите элементы: 1 2 3 5
n= 11
Введите элементы: 0 1 2 3 1 4 1 2 3 4 5
Подмассив не обнаружен
Николаевич1033
#include <iostream>
#include <vector>
using namespace std; //теперь нам не придется страдать с std::
int main(){
int n; cin>>n; //ввод кол-ва сортируемых элементов
vector <int> a(1e9,0); //создание вектора для хранения ответа. пока он заполнен 0. можно использовать массив
for (int i=0; i<n; ++i) { //запускаем цикл для ввода чисел
int input; cin>>input; //вводим сортируемое число
++a[input]; //считаем кол-во таких элементов во входном файле
}
for (int i=0; i<1e9; ++i) //цикл по всем элементам массива ответа
for (int j=0; j<a[i]; ++j) //цикл, который выводит данный элемент столько раз, сколько он встречается в массиве
cout<<i<<' ';
return 0; //завершение работы программы
}
Сортировка подсчетом заключается в том, что мы считаем, сколько раз данный элемент встречается в сортируеиом массиве и воводим его столько раз подряд на нужном месте, сколько он встречается в массиве.
Написанная мной программа сортирует элементы
0 \leqslant x \leqslant {10}^{9}
общее кол-во которых не превосходит
{10}^{9}
Если нужно что-то еще – пиши. Буду обьяснять более подробно.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

5. шифр мистера фокса мистер фокс узнал новый алгоритм шифрования: нужно взять строку, которую хочешь зашифровать, вставить между любыми двумя буквами две произвольные одинаковые буквы, с получившейся строкой повторить ту же операцию и так далее, пока не надоест. например, строку фокс можно зашифровать так: фаззаояякввс. мистер фокс зашифровал название своего любимого дикого животного и предлагает вам расшифровать его: . в качестве ответа укажите название любимого животного мистера фокса, записанное заглавными буквами, например, лев.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

yuip2008
Абумислимовна_кооператив585
ekaterinkat
Tatianarogozina1306
Adassa00441
Белов_Лукина1339
tokarevaiv
igorshevkun
АндреевичАндрей
Построить диаграмму в Excel
Pavlovna897
Usynin-nikolay
contact
soa8690
sbelova
Olenkalebedeva4477
▲