#include <iostream>
#include <string>
using namespace std;
// Funkcja szyfrująca pojedynczy znak (tylko małe litery a-z)
char szyfruj_znak(char znak, int klucz) {
if (znak < 'a' || znak > 'z') {
return znak; // pozostaw inne znaki bez zmian
}
int litera_alfabetu = int(znak) - 'a';
int kod_nowej_litery = (litera_alfabetu + klucz) % 26;
return char(kod_nowej_litery + 'a');
}
// Funkcja szyfrująca cały tekst naprzemiennie kluczami
string szyfruj2(string tekst, int klucz1, int klucz2) {
string wynik = tekst;
for (size_t i = 0; i < tekst.size(); i++) {
if (i % 2 == 0) {
wynik[i] = szyfruj_znak(tekst[i], klucz1);
} else {
wynik[i] = szyfruj_znak(tekst[i], klucz2);
}
}
return wynik;
}
int main() {
cout << szyfruj2("poufnytekst", 3, 10) << endl;
cout << szyfruj2("poczekajnamnie", 123, 5) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gRnVua2NqYSBzenlmcnVqxIVjYSBwb2plZHluY3p5IHpuYWsgKHR5bGtvIG1hxYJlIGxpdGVyeSBhLXopCmNoYXIgc3p5ZnJ1al96bmFrKGNoYXIgem5haywgaW50IGtsdWN6KSB7CiAgICBpZiAoem5hayA8ICdhJyB8fCB6bmFrID4gJ3onKSB7CiAgICAgICAgcmV0dXJuIHpuYWs7IC8vIHBvem9zdGF3IGlubmUgem5ha2kgYmV6IHptaWFuCiAgICB9CiAgICBpbnQgbGl0ZXJhX2FsZmFiZXR1ID0gaW50KHpuYWspIC0gJ2EnOwogICAgaW50IGtvZF9ub3dlal9saXRlcnkgPSAobGl0ZXJhX2FsZmFiZXR1ICsga2x1Y3opICUgMjY7CiAgICByZXR1cm4gY2hhcihrb2Rfbm93ZWpfbGl0ZXJ5ICsgJ2EnKTsKfQoKLy8gRnVua2NqYSBzenlmcnVqxIVjYSBjYcWCeSB0ZWtzdCBuYXByemVtaWVubmllIGtsdWN6YW1pCnN0cmluZyBzenlmcnVqMihzdHJpbmcgdGVrc3QsIGludCBrbHVjejEsIGludCBrbHVjejIpIHsKICAgIHN0cmluZyB3eW5payA9IHRla3N0OwogICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0ZWtzdC5zaXplKCk7IGkrKykgewogICAgICAgIGlmIChpICUgMiA9PSAwKSB7CiAgICAgICAgICAgIHd5bmlrW2ldID0gc3p5ZnJ1al96bmFrKHRla3N0W2ldLCBrbHVjejEpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHd5bmlrW2ldID0gc3p5ZnJ1al96bmFrKHRla3N0W2ldLCBrbHVjejIpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB3eW5pazsKfQoKaW50IG1haW4oKSB7CiAgICBjb3V0IDw8IHN6eWZydWoyKCJwb3Vmbnl0ZWtzdCIsIDMsIDEwKSA8PCBlbmRsOwogICAgY291dCA8PCBzenlmcnVqMigicG9jemVrYWpuYW1uaWUiLCAxMjMsIDUpIDw8IGVuZGw7CiAgICByZXR1cm4gMDsKfQ==