EQSTR - Biến đổi chuỗi
Tác giả: ll931110
Ngôn ngữ: C++
#include <algorithm>
#include <bitset>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <fstream>
#include <iostream>
#include <iterator>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <string>
#include <vector>
typedef long long ll;
using namespace std;
string getEq(string s,string t)
{
string ret;
for (int i = 0; i < s.size(); i++)
{
int x1 = s[i] - 'a',x2 = t[i] - 'a';
int perform = 100,pos = -1;
for (int i = 0; i < 26; i++)
{
int tmp = min(abs(x1 - i),26 - abs(x1 - i)) + min(abs(x2 - i),26 - abs(x2 - i));
if (perform > tmp)
{
perform = tmp; pos = i;
};
};
char fin = pos + 'a';
ret += fin;
};
return ret;
};
int main()
{
string a;
while (1)
{
cin >> a;
if (a == "[END]") break;
string s,t;
cin >> s; cin >> t;
cout << getEq(s,t) << endl;
};
};