Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.12.2013, 18:53
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

задача со строкой
Вам дана строка. Циклическим сдвигом строки s длины n называется строка, полученная из исходной путём отбрасывания первых 0 ≤ k < n символов и приписывания их в конец. Необходимо посчитать, сколько раз среди всех циклических сдвигов строки встречается лексикографически минимальный циклический сдвиг.
Ограничение по времени: 0.6 секунд
Ограничение по памяти: 256 мегабайт
Формат входного файла:
Единственная строка входного файла содержит строку S. Она непуста, состоит из маленьких латинских букв, и её длина не превосходит 10 000 000.
Формат выходного файла:
Выведите единственное число – искомое количество минимальных циклических сдвигов.

Пробовал таким способом, но выдаёт ошибку(( Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files (x86)\My Programms\EasyPHP-DevServer-13.1VC11\data\localweb\scripts\5\5.php on line 5
$S = preg_split('/\s+/', trim(file_get_contents('input.txt')))[0] ;
$str = $S ;
$n = 1 ;
for($i = 0; $i < strlen($S); $i++) {
	$S = substr($S, 1) . substr($S, 0, 1) ;
	if($S < $str) {
		$str = $S ;
		$n = 1 ;
	} else if($S == $str)
		$n++ ;
} ;
echo $n ;
__________________
★ ²º¹³ ☆
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача c тегом <g> в svg Kosty@n Элементы интерфейса 2 14.01.2013 19:08
Задача такова : нужно при клике на ссылку открыть страницу с новой вкладке, оставаясь asustekk Javascript под браузер 4 25.05.2012 14:04
Интересная задача для javascript bobri4 Общие вопросы Javascript 4 16.07.2011 13:08
Задача подсчитать суммы каталога osv Общие вопросы Javascript 2 30.07.2009 05:24