#include <iostream>
using namespace std;
char szyfruj_znak(char znak, int klucz) {
int numer = znak - 'a'; // zamiana litery na numer 0-25
int nowy = (numer + klucz) % 26; // przesunięcie w alfabecie
return char(nowy + 'a'); // zamiana z powrotem na literę
}
string szyfruj2(string tekst, int klucz1, int klucz2) {
string wynik = "";
for (int i = 0; i < tekst.length(); i++) {
if (i % 2 == 0) { // pozycja parzysta
wynik += szyfruj_znak(tekst[i], klucz1);
} else { // pozycja nieparzysta
wynik += szyfruj_znak(tekst[i], klucz2);
}
}
return wynik;
}
int main() {
cout << szyfruj2("poufnytekst", 3, 10) << endl;
cout << szyfruj2("poczekajnamnie", 123, 5) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2hhciBzenlmcnVqX3puYWsoY2hhciB6bmFrLCBpbnQga2x1Y3opIHsKICAgIGludCBudW1lciA9IHpuYWsgLSAnYSc7ICAgICAgICAgICAgICAvLyB6YW1pYW5hIGxpdGVyeSBuYSBudW1lciAwLTI1CiAgICBpbnQgbm93eSA9IChudW1lciArIGtsdWN6KSAlIDI2OyAgICAgLy8gcHJ6ZXN1bmnEmWNpZSB3IGFsZmFiZWNpZQogICAgcmV0dXJuIGNoYXIobm93eSArICdhJyk7ICAgICAgICAgICAgIC8vIHphbWlhbmEgeiBwb3dyb3RlbSBuYSBsaXRlcsSZCn0KCnN0cmluZyBzenlmcnVqMihzdHJpbmcgdGVrc3QsIGludCBrbHVjejEsIGludCBrbHVjejIpIHsKICAgIHN0cmluZyB3eW5payA9ICIiOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGVrc3QubGVuZ3RoKCk7IGkrKykgewogICAgICAgIGlmIChpICUgMiA9PSAwKSB7ICAgICAgICAgICAgICAgIC8vIHBvenljamEgcGFyenlzdGEKICAgICAgICAgICAgd3luaWsgKz0gc3p5ZnJ1al96bmFrKHRla3N0W2ldLCBrbHVjejEpOwogICAgICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBvenljamEgbmllcGFyenlzdGEKICAgICAgICAgICAgd3luaWsgKz0gc3p5ZnJ1al96bmFrKHRla3N0W2ldLCBrbHVjejIpOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gd3luaWs7Cn0KCmludCBtYWluKCkgewogICAgY291dCA8PCBzenlmcnVqMigicG91Zm55dGVrc3QiLCAzLCAxMCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgc3p5ZnJ1ajIoInBvY3pla2FqbmFtbmllIiwgMTIzLCA1KSA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0=