Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.01.2012, 19:42
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию ускорить работу

во входном файле
Цитата:
число строк которые проверять
сами строки
число строк для проверки
сами строки
а проверяем мы сколько раз нужные строки в начале и в конце бывают
пример
входной файл
Цитата:
4
р4
р4авпр4
параправрапа
р46547456р4
3
па
р4
яа
выходной
Код:
1
3
0
то есть па 1 раз является началом и концом в строках
р4 3 раза является
яа вообще не является началом и концом какой либо строки

Код:
program Project2ex;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
f,f2:TextFile;
a,b,k,i,n,j: integer;
m,m2: array of string[50];
mi: array of integer;

begin
AssignFile(f,'input.txt');


Reset(f);
Readln(f,a);
SetLength(m,a+1);
for i:=1 to a do readln(f,m[i]);
Readln(f,b);
SetLength(m2,b+1);
SetLength(mi,b+1);
for i:=1 to b do readln(f,m2[i]);
CloseFile(f);
for i:=1 to b do
  for k:=1 to a do
    begin
     n:=length(m2[i]);
     if pos(m2[i],m[k])=1 then
      begin
       j:=length(m[k]);
       if  (m2[i]=copy(m[k],j-n+1,j)) then inc(mi[i]);

      end;
    end;
AssignFile(f2,'output.txt');
ReWrite(f2);
for i:=1 to b do Writeln(f2,mi[i]);
CloseFile(f2);
  { TODO -oUser -cConsole Main : Insert code here }
end.
Ответить с цитированием
  #2  
Старый 23.01.2012, 20:15
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

ЕЕ) седня на областной олимпиаде была такая задача)) сделал также через два цикла, дали всего 30 баллов из 100, эти г@@@@ны проверяют с числами:
"число строк которые проверять" и "число строк для проверки" до 200 а там уж выходит 200*200=40000 циклов)) а время выполнения не больше 2 сек, мы после олимпиады седня разбирали: информатик в институте сказал что в решении, которое им из москвы пришло, сначало делается сортировка по алфавиту, потом чето или добавляется или отнимается, и потом бинарным поиском, я не понял ничего если честно, завтра или послезавтра выложут в инет решение московское, могу выложить сюда.
П.С. решал сам) Первое место по области среди 10 классов, и 3 если включая 11)
Ответить с цитированием
Этот пользователь сказал Спасибо Kingcss за это полезное сообщение:
ALexandr555 (23.01.2012)
  #3  
Старый 23.01.2012, 20:38
Аватар для Outlaw
Outlaw Outlaw вне форума
Прохожий
 
Регистрация: 23.01.2012
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
а проверяем мы сколько раз нужные строки в начале и в конце бывают

5 раз перепрочитал и не въехал, я один такой?
Ответить с цитированием
  #4  
Старый 23.01.2012, 21:59
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

смотри пример подстрока "abra" в строке "abracadabra", у нас такой пример был, первые 4 символа и последние 4, увидел?
Ответить с цитированием
  #5  
Старый 23.01.2012, 22:39
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

Kingcss у меня, так же сам решил, вот эксперементировал с pos для ускорения
Цитата:
Time limit exceeded on test 7 30
а где результаты бы глянуть?)
и можешь в аську там отписать лучше и сайт узнать московский) 7559384
Ответить с цитированием
  #6  
Старый 23.01.2012, 23:07
Kingcss Kingcss вне форума
Начинающий
 
Регистрация: 20.12.2010
Адрес: Иваново
Сообщения: 100
Версия Delphi: Delphi 7
Репутация: 519
По умолчанию

я тоже с pos экспериментировал не помогло,я сам не московский, из города Иваново, сказали задания и решения правильные с москвы будут с завтрашнего дня на сайте ИГЭУ: http://www.ispu.ru/ (это я тут писал) Лично нам уже результаты сказали, я на первом месте среди 10 классников) у тебя была задача с кегельбанами и типа организовать ужин в кафе, там с блюдами, очень интересует алгоритм решения этих задач.
В аську будет время, стукну!
Ответить с цитированием
  #7  
Старый 23.01.2012, 23:11
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

ужин в кафе есть там вроде 75 балов её тоже надо ускорить, жаль мы не с одной области)
кегли я не решил, ну собственно там надо вроде как двигаться по вектору и сравнивать расстояние, шара с каждой кеглей, если меньше 1500 то сбили
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:18.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter