Алгоритмы на строках → Разбор Статистика 2

 
0
 

Задача проста, но иногда возникают проблемы не с алгоритмом, а с его реализацией. Как и написано в условии, строка может быть большой - 10кб = 10240 символов. Так же между словами есть пробелы и это тоже надо учитывать. Я читал каждый символ с помощью getchar()(C++).

Алгоритмы на строках → Разбор Распаковка строчки 2

 
1
 

Задача очень проста и отлично подходит для новичков. Все, что нужно - на каждом шаге проверять, является ли текущий символ строки буквой или цифрой. Если является буквой, то выводим ее, иначе нам нужно прочитать цифру до конца. Перевести подстроку в число можно не сложными операциями с отнятием символа нуля и умножением на десять. Частая ошибка - невнимательное прочтение условия. Выводить нужно по 40 символов в строке.

Алгоритмы на строках → Разбор Ancient Cipher 1

 
1
 

В этой задаче нужно понять следующее: преобразование из строки $s$ в строку $t$ могло произойти если каждый символ $c$ заменили на $c'$, отличный от других и строку перемешали.

Очевидно, что после таких операций длина строки останется той же. А так же количество видов различных символов и их количество в строке будет тем же.

Нам осталось только подсчитать, сколько раз, какой символ встречается в строках $s$ и $t$, потом проверить. Сделать это можно отсортировав массив с подсчитаными символами.

Алгоритмы на строках → Разбор Распаковка строчки 1

 
2
 

.

Алгоритмы на строках → Разбор Статистика 1

 
1
 

7 тест, когда размер файла очень большой, выдает по всем нули советую использовать BufferedReader(java);

Алгоритмы на строках → Разбор Перестановка букв 1

 
-1
 

Очень итнерсеная задача! Также пытаются усложнить там где нет никакой трудности.

Задача сводится к считыванию построчно входной файл. Потом разбиение строки на отдельные слова, тем более что все возможные разделители указанны. Для этого в С++ и в Java существуют определенные инструменты. StringTokenizer в Java, ну хорошо в С++ чуть сложнее но можно ипользовать функцию strtok.

Все разделители и слова меньше 4 символов выводятся так как есть. Слова длинее 4-х символов трансформируются следующим путем:
В промежутке от третьей и предпоследней буквы находим букву отличную от второй буквы. Меняем местами и выводим в ответ. Если отличной буквы не найжено выводим как есть.

Между каждой строчкой не забыть вывести переход строки.