суббота, 17 ноября 2018 г.

The Love-Letter Mystery




/*
Джеймс раздобыл любовное письмо, которое его друг Гарри написал своей девушке. Будучи шутником, Джеймс решил
изменить его. Он превратил все слова в палиндромы. В каждом слове он изменял буквы только на меньшие,
например, 'd' он мог превратить в 'c' и это считалось одной операцией. (Он мог изменять значение только до
буквы 'a', 'a' не может быть изменено в 'z') Найдите минимальное количество операций для превращения слова
в палиндром.

Формат ввода
============
Первая строка содержит целое число T - количество тестов.
Следующие T строк содержат по одному слову.

Формат вывода
=============
В каждой стоке содержится одно число, соответствующее минимальному количеству операций для данного теста.

Ограничения
===========
1 ≤ T ≤ 10
1 ≤ длина слова ≤ 104
Все символы - только строчные буквы английского алфавита от 'a' до 'z'

Пример. Ввод #00
================
3
abc
abcba
abcd

Пример. Вывод #00
=================
2
0
4

Пояснение
=========
Для первого теста, ab*c* -> ab*b* -> ab*a*.
Для второго теста, abcba - палиндром.
Для третьего теста, abc*d* -> abc*c* -> abc*b* -> abc*a* = ab*c*a -> ab*b*a.
*/



#include <iostream>
#include <cmath>
using namespace std;

// Complete the theLoveLetterMystery function below.
int theLoveLetterMystery(string str) {
    int count = 0;

    for (int x = 0, y = str.size() - 1; x < y; x++, y--)
    {
        count += abs(str[x] - str[y]);
    }
    return count;
}

int main() {
    string str = "abcba";

    int result = theLoveLetterMystery(str);

    cout << result << endl;

    return 0;
}

Комментариев нет:

Отправить комментарий

The Love-Letter Mystery

/* Джеймс раздобыл любовное письмо, которое его друг Гарри написал своей девушке. Будучи шутником, Джеймс решил изменить его. Он ...