Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2013, 19:41   #1
makskovalko
Пользователь
 
Аватар для makskovalko
 
Регистрация: 23.04.2012
Сообщений: 82
По умолчанию Задача Антимат

Здравствуйте! Решил задачу, но проверяющая система выдаёт ошибки на некоторых тестах. Что здесь не так?
Условие:
1269. Антимат
Ограничение времени: 0.5 секунды
Ограничение памяти: 8 МБ
При разработке досок обсуждений часто возникает задача проверять сообщения пользователей на наличие нецензурной лексики. Ваши старшие товарищи доверили эту задачу вам. Нужно проверить, содержит ли текст хоть одно слово из списка в качестве подстроки.
Исходные данные
Первая строка содержит число n (1 ≤ n ≤ 10000) — количество слов. Следующие n строк содержат список слов, использование которых в нашем культурном обществе считается недопустимым. В слове могут встречаться любые символы, кроме символов с кодами 0, 10 и 13. Длина каждого слова не превышает 10000 символов. Общий объём слов не превышает 100 КБ. После этого идёт число m — количество строк в тексте. Общий объём текста не превышает 900 КБ.
Результат
Выведите через пробел номер строки и номер позиции, в которой первый раз встретилось плохое слово. Если в тексте нет плохих слов, выведите «Passed».
Пример
исходные данные результат
5
dear
sweetie
angel
dream
baby
8
Had I the heavens' embroidered cloths,
Enwrought with golden and silver light,
The blue and the dim and the dark cloths
Of night and light and the half-light,
I would spread the cloths under your feet:
But I, being poor, have only my dreams;
I have spread my dreams under your feet;
Tread softly because you tread on my dreams. 6 33

Мой код:
PHP код:
Var
 
a:array[0..1000000of string;
 
n,m,i,j,k:integer;
 
s,s1,s2:string;
 
f1,f2:text;
 
Begin
 Assign
(f1,'input.txt');
 
Assign(f2,'output.txt');
 
Reset(f1);
 
Rewrite(f2);
 
readln(f1,n);
  for 
i:=1 to n do readln(f1,a[i]);
 
readln(f1,m);
  for 
i:=1 to m do
   
begin
    readln
(f1,s);
     for 
j:=1 to Length(s) do
      for 
k:=1 to n do
       
begin
        
if Pos(a[k],s)>0 then 
         begin 
          writeln
(f2,i,' ',Pos(a[k],s));
          
Close(f1);
          
Close(f2);
          exit;
         
end;
       
end;
   
end;
End
makskovalko вне форума Ответить с цитированием
Старый 14.12.2013, 19:53   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
a:array[0..1000000] of string;
Не слишком жирно для 10000 слов?
Цитата:
for j:=1 to Length(s) do
Зачем этот цикл?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задача на зачёт. проблема Задача на нобелевскую премию! Sabotage5 Паскаль, Turbo Pascal, PascalABC.NET 2 18.03.2013 15:18
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC kimberly Паскаль, Turbo Pascal, PascalABC.NET 3 24.12.2012 17:03
задача на структуру(struct)/задача на работу с файлом SevenArth Помощь студентам 0 26.04.2012 19:06
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel Toofed Помощь студентам 0 30.11.2011 01:12
Задача минимизации дисбаланса на линии сборки (задача минимакса) LenZab Microsoft Office Excel 13 13.03.2011 22:51