Петя нашел в интернете шифр кодового слова. Шифр получается так: 1. Выбирается кодовое слово, например «хорошо».
2. Убираются копии букв в слове из п. 1, получается «хорш».
3. Затем строится новый алфавит таким образом, что полученное в п. 2 слово записывается в начало нового алфавита, а затем новый алфавит дополняется обычным (из которого исключаются буквы из слова(п. 2)).
а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
х о р ш а б в г д е ё ж з и й к л м н п с т у ф ц ч щ ъ ы ь э ю я
4. Чтобы закодировать текст, буквы старого алфавита в тексте заменяются на те, что стоят под ними (пробелы и знаки препинания не изменяются). А чтобы раскодировать, буквы нового алфавита в тексте заменяются на те, что стоят над ними.
Например, используя шифрование словом «хорошо», мы можем из фразы «шифр кодового слова» получить «четм жкакркшк нзкрх».
Петя закодировал с данного шифра строку, в итоге получилась строка
«лантэша б мцкшйоя оярнкойсзъб жё».
Для кодирования данной строки Петя выбрал кодовое слово «коммивояжёр»
Восстановите исходную строку и в ответе запишите слова исходной строки через пробел без кавычек и запятых.
БЫСТРЕЕ ОСТАЛОСЬ 10 МИНУТ
using namespace std;
int main() {
int m;
cout << "m = ", cin >> m, cout << "\n";
int b[m];
srand(time(NULL));
cout<<"array:\n";
for (int i=0; i<m; i++)
{
b[i]=rand() % 50;
cout<<b[i]<<" ";
}
cout << "\n";
for (int i=0; i<m; i++)
if ((i+1)%2==0) b[i] *= 2;
else b[i]=0;
for (int i=0; i<m; i++) cout << b[i] << " ";
cout << "\n";
return 0;
}
Пример:
m = 10
array:
47 3 29 46 36 31 2 2 20 20
0 6 0 92 0 62 0 4 0 40