In this

**HackerEarth Caesar's Cipher problem solution**Caesar's Cipher is a very famous encryption technique used in cryptography. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a shift of 3, D would be replaced by G, E would become H, X would become A and so on.Encryption of a letter X by a shift K can be described mathematically as EK(X) = (X + K) % 26.

Given a plaintext and it's corresponding ciphertext, output the minimum non-negative value of shift that was used to encrypt the plaintext or else output -1 if it is not possible to obtain the given ciphertext from the given plaintext using Caesar's Cipher technique.

## HackerEarth Caesar's Cipher problem solution.

`#include<bits/stdc++.h>`

using namespace std;

#define N 400010

typedef long long ll;

#define INF ll(1e18)

//Template ends here

int main()

{

int q;

cin >> q;

while(q--)

{

string s, t;

cin >> s >> t;

int ans = -1;

bool flag = false;

for(int i = 0; i < (int)s.size(); i ++)

{

int diff = (t[i] - s[i] + 26) % 26;

if(ans == -1)

ans = diff;

if(diff == ans)

continue;

else

{

flag = true;

break;

}

}

if(flag)

printf("-1\n");

else

printf("%d\n", ans);

}

return 0;

}

## 0 Comments