Ли
Литвинов

Задачка с массивом С

После того, как капрал Арум наконец-то научился строить своих деревянных солдат в одну шеренгу, явился генерал Лан Пирот и задал Аруму новую задачу.

Лан Пирот построил всех дуболомов в колонну, состоящую из N шеренг, в каждой из которых стоит M дуболомов. Каждый дуболом имеет свой номер. В каждой шеренге номера дуболомов идут в неубывающем порядке слева направо. На этот раз номера дуболомов могут быть очень большими (Урфин Джюс научился считать до миллиарда! )

Генерал требует, чтобы для каждого номера, который встречается в строю дуболомов, капрал Арум как можно скорее определил количество шеренг, в которых есть дуболомы с этим номером.
Формат входного файла kare.dat

Текстовый файл kare.dat состоит из нескольких строк. В первой строке записаны через пробел два натуральных числа N - количество шеренг (1 ? N ? 20)и M - количество дуболомов в каждой шеренге (1 ? M ? 2000).

В каждой из последующих N строк содержится M разделенных пробелами чисел - это номера дуболомов в соответствующей шеренге. Каждый номер лежит в диапазоне от 1 до 1 000 000 000. Номера в каждой строке идут в неубывающем порядке слева направо (то есть каждое последующее число не меньше предыдущего) .
Формат выходного файла kare.sol

Текстовый файл kare.sol должен содержать несколько строк. В каждой строке должны быть записаны два натуральных числа, разделенных пробелом — номер дуболома и количество шеренг, в которых встречается этот номер. Номера дуболомов должны идти в возрастающем порядке. По возможности покажите готовый код.

Сергей Синьков
Сергей Синьков

Прочитать все в память, а потом простой бинарный поиск по всем шеренгам.
Итого наихудшее О( Н * лог2( М )) для одного номера.
Для анализа всех дуболомов слить все массивы в один, отсортировать и уже по нему все искать.

Похожие вопросы
С++ как сделать без массивов
Помогите пожалуйста с задачкой на массивы! Надо написать программу в Basic!
Создание массива на С/С++
Задачка по C++. Нужно подсчитать в одномерном массиве количество нулевых элементов
Что не так? С++ Двухмерные массивы
Кто платно решит две задачки на Фортране? Динамические массивы
Помогите решить мне вот эти две задачки с помощью массивов
Можете решить задачки по одномерным массивам??
по массивам задачка небольшая..
Pascal, массивы, задачка. помогите разобраться