This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <string>
#include <cstring>
#include <fstream>
#include <sstream>
#include <cstdlib>
#include <vector>
#include <queue>
#include <algorithm>
#include <map>
#include <set>
#include <functional>
#include <bitset>
#include <limits.h>
using namespace std;
#define MP make_pair
#define REP(v, repeat) for(int v=0; v<(repeat); ++v)
#define REPD(v, repeat) for(int v=(repeat)-1; v>=0; --v)
#define FOR(v, pos, end) for(int v=(pos); v<=(end); ++v)
#define FORD(v, pos, end) for(int v=(pos); v>=(end); --v)
#define ROUNDING(x, dig) (floor((x) * pow(10, dig) + 0.11f) / pow(10, dig))
typedef pair<int, int> PI;
typedef vector <bool> VB;
typedef vector <int> VI;
typedef vector <VI> VVI;
typedef vector <vector <PI>> ADJ;
typedef vector <string> VS;
typedef long long ll;
typedef unsigned long long ull;
int n;
VS decrypt;
string str;
string decryption(string str)
{
string ret = "";
int len = str.size() % 2 ? str.size() - 1 : str.size();
for (int i = 0; i < len; i += 2)
{
ret += ((str[i] - 'a' + str[i + 1] - 'a' + 26 - n) % 26 + 'a');
}
return ret;
}
int main()
{
scanf("%d", &n);
while (!(cin >> str).eof())
{
decrypt.push_back(decryption(str));
}
REP(i, decrypt.size()) printf("%s ", decrypt[i].c_str());
puts("");
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |