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*
Комментарий*

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

vova00831
inaine73
Гаврилаш
rimmaskis
lsyrbu
Штакина1568
Polina780
lobutev
mv7095
Snimshchikov465
lyubavalev8
arammejlumyan
Kulikovvl9
Golubitskaya378
tooltechnic