Задача
Дана строка $s$, в которой выделили подстроку, состоящую из символов с $i$-го по $j$-ый включительно (символы строки $s$ нумеруются с единицы) и поменяли местами $i$-ый символ с $j$-ым и так далее (конвертировали подстроку). Выведите строку $s$ после внесенных изменений.
Входные данные
В первой строке содержится строка $s$ длиной не более $1000$ символов, во второй — два числа $i$ и $j$ $\left ( i \leq j \right ).$
Выходные данные
Выведите строку $s$ после внесенных изменений.
Тесты
Входные данные | Выходные данные |
$zbbg \\ 2 \ 3$ | $zbbg$ |
$gaqipkajibk \\ 5 \ 6$ | $gaqikpajibk$ |
$helloworld \\ 5 \ 7$ | $helloworld$ |
$eolymp1611 \\ 7 \ 8$ | $eolymp6111$ |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); String str = in.nextLine(); char[] s = str.toCharArray(); int i = in.nextInt(); int j = in.nextInt(); for(int b = i - 1, c = j - 1; b < c; b++, c--) { char k = s[b]; s[b] = s[c]; s[c] = k; } System.out.println(s); } } |
Решение
Для решения задачи вводим строку $str$ и преобразуем её в массив символов $(char)$. Далее в цикле конвертируем подстроку и выводим строку $s$ после внесенных изменений.
Ссылки
Условие задачи на e-olymp
Код решения задачи ideone