№1581
http://acm.timus.ru/problem.aspx?space=1&num=1581
ЖМИ ДАЛЕЕ>>>
РЕШЕНИЕ [Pascal] :
N, X, pX, nX, I: integer;
begin
readLn (N);
read (pX);
nX := 1;
for I := 2 to N do
begin
read (X);
if (X = pX)
then
inc (nX)
else
begin
write (nX, ' ' , pX, ' ');
nX := 1;
end;
pX := X;
end;
write (nX, ' ', pX, ' ');
end.
РЕШЕНИЕ [Java] :
import java.util.Scanner; public class t1581 { public static void main(String[] args) { Scanner input = new Scanner(System.in); while (input.hasNext()) { int N = input.nextInt() - 1; int num = input.nextInt(); int count = 1; if (N == 0) { System.out.println(count + " " + num); continue; } int nextNum = input.nextInt(); while (N >= 0) { if (N != 0) { if (num == nextNum) { ++count; } else { System.out.print(count + " " + num + " "); num = nextNum; count = 1; } } else { System.out.print(count + " " + num + " "); } --N; if (N > 0) { nextNum = input.nextInt(); } } System.out.println(); } } }
1581. Работа в команде
Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Ограничение памяти: 64 МБ
Вася и Петя решили принять участие в командной олимпиаде по информатике. Но они слушали рассказы ветеранов спортивного программирования, а поэтому знали, что, помимо умения хорошо программировать, очень важна сыгранность участников. Поэтому они решили отрабатывать навыки работы в команде.
Вася написал на бумажке последовательность натуральных чисел и стал диктовать её Пете. Причём, для краткости, он диктует её так: сначала говорит количество подряд идущих одинаковых чисел, а затем говорит, что это за числа. Например, последовательность «1 1 2 3 3 3 10 10» он продиктует как «две единицы, одна двойка, три тройки, две десятки». Петя же, тоже для краткости, записывает вместо слов числа, которые говорит Вася. В указанном примере Петя запишет на бумажку: «2 1 1 2 3 3 2 10».
Отработав этот навык, друзья решили ещё потренироваться в программировании и научить компьютер преобразовывать последовательность Васи в последовательность Пети.
Исходные данные
В первой строке находится целое число N — количество чисел, записанных Васей (1 ≤ N ≤ 1000 ). Во второй строке через пробел записаны эти числа. Все числа целые, положительные и не превосходят 10.
Результат
В единственной строке выведите через пробел числа, которые должен был бы записать на бумажке Петя.
Пример
исходные данные | результат |
---|---|
8 1 1 2 3 3 3 10 10 | 2 1 1 2 3 3 2 10 |
Автор задачи: Алексей Самсонов
Источник задачи: XIV Открытое командное первенство школьников Свердловской области по программированию
Источник задачи: XIV Открытое командное первенство школьников Свердловской области по программированию