Форум программистов, компьютерный форум, киберфорум
Наши страницы
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
makskovalko
1 / 1 / 3
Регистрация: 05.09.2012
Сообщений: 55
1

Олимпиадная задача Великий архиватор

17.06.2013, 15:30. Просмотров 1027. Ответов 1
Метки нет (Все метки)

Помогите решить задачу!

Великий архиватор
Ввод/вывод: стандартный
Ограничения по времени: 1 секунда
На планете роботов очень любят автоматическую обработку текстов. Для этого роботы ввели специальную должность Великого Архиватора. В обязанности Великого Архиватора входит составление списка всех слов текста и замена слов на число, обозначающее номер этого слова в списке.
Напишите программу, выполняющую функции Великого Архиватора.
Формат входных данных:
В единственной строке входных данных приводится строка длиной не более миллиона символов, состоящая из строчных и заглавных букв английского алфавита и пробелов. Любые два соседних слова в тексте разделены ровно одним пробелом. Слова считаются одинаковыми, если они равны с точки зрения сравнения строк, причем строчные и заглавные буквы считаются различными.
Формат выходных данных:
В единственной строке выходных данных необходимо вывести последовательность номеров слов текста, причем слова в списке должны быть упорядочены в порядке их появления в тексте. Нумерация слов должна начинаться с единицы.
Примеры входных и выходных данных:
Входные данные
To be or not to be
Why do you cry Willie Why do you cry Why Willie Why Willie Why Willie Why
Выходные данные
1 2 3 4 5 2
1 2 3 4 5 1 2 3 4 1 5 1 5 1 5 1
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2013, 15:30
Ответы с готовыми решениями:

Олимпиадная задача
program zad4; Var n,i,k:longint; c:char; Procedure closing; begin close(input);...

Олимпиадная задача
Ребят мне её нужно срочно решить её, прошу вашей помощи. var x,i,j,s,y:integer; n:array of...

Олимпиадная задача №4
Захар любит игры со словами. Но играть одному не интересно, поэтому Захар подсадил на эти игры...

Олимпиадная задача №2
Фёдор решил написать игрушку для двух игроков на клетчатом поле w × h (ширина и высота...

Олимпиадная задача
На вход в файле INPUT.TXT подаётся две строчки: N - количество томов(максимум 32) и (от 1 до...

1
Kordn
156 / 135 / 106
Регистрация: 18.05.2013
Сообщений: 289
17.06.2013, 23:54 2
Лучший ответ Сообщение было отмечено makskovalko как решение

Решение

Если разрешается использовать динамические массивы, и программа должна быть на Pabc.NET, то вуаля:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  a: array of string;
  c: char;
  s: string;
  found := false;
  n := 0;
 
begin
  setlength(a, n);
  repeat 
    repeat 
      read(c);
      if (c <> ' ') and (ord(c) <> 13) then s += c;
    until (c = ' ') or (ord(c) = 13);
    for var i := 0 to n - 1 do
      if s = a[i] then begin found := true; write(i + 1, ' ') end;
    if not found then begin inc(n);   setlength(a, n); a[n - 1] := s; write(n, ' '); end;
    found := false;
    s := '';
  until ord(c) = 13;
end.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2013, 23:54

Олимпиадная задача
Условие: http://i.imm.io/1m1cH.jpeg Примеры вывода: http://i.imm.io/1m1cL.png 2 часа писал...

Олимпиадная задача Pascal
Пришел недавно с олимпиады . Все решил , последняя задача никак не дается . Кто нибудь может знает...

Олимпиадная задача с кубиками
Не могли бы вы мне помочь? Юный математике Матвей интересуется теорией вероятностей, и по этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru