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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2012, 14:13   #1
Chuckle
Пользователь
 
Регистрация: 13.10.2012
Сообщений: 12
По умолчанию Усложненный вариант задачи "ХитрОе жюРи".

"На вход подаются неотрицательные числа количеством не более 1.5 млрд, по значению не превышающие 1.5 млн. Известно, что все числа, кроме двух, встречаются ровно по 2 раза, а те два числа - по одному разу. Найти эти два числа."

Помогите пожалуйста с алгоритмом решения.

Если бы было только одно число, встречающееся один раз (нечетное количество раз), а все остальные встречались по два раза (четное количество раз), то тут всё понятно: "ксорим" все числа со входного потока, ввиду равенств a ^ 0 == a, a ^ a == 0, (a ^ b) ^ a == b легко получаем нужное число.

А как быть тут? Входной поток вводится в массив, кстати говоря. Но его нельзя сортировать. И ограничение по времени выполнения программы 1 секунда.

^ - операция побитового сложения по модулю два

Последний раз редактировалось Chuckle; 13.10.2012 в 15:41.
Chuckle вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Хитрое" закрепление области, как? a69 Microsoft Office Excel 3 10.08.2012 12:53
Загрузка оборудования(вариант "Задачи о ранце") matteo Общие вопросы C/C++ 1 11.03.2011 11:49
сортировка матриц. усложненный вариант dima-intro Помощь студентам 3 23.12.2010 20:19
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") Valik102 Помощь студентам 3 20.05.2009 20:42