Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/55: Рейтинг темы: голосов - 55, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 18

Метод двух указателей (задача)

23.07.2019, 10:02. Показов 10252. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Я столкнулся с такой задачей:
--------------------------------------------------------------------------------------------
Глеб обожает шоппинг. Как-то раз он загорелся идеей подобрать себе майку и штаны так, чтобы выглядеть в них максимально стильно. В понимании Глеба стильность одежды тем больше, чем меньше разница в цвете элементов его одежды.

В наличии имеется N (1 ≤ N ≤ 100 000) маек и M (1 ≤ M ≤ 100 000) штанов, про каждый элемент известен его цвет (целое число от 1 до 10 000 000). Помогите Глебу выбрать одну майку и одни штаны так, чтобы разница в их цвете была как можно меньше.

Входные данные
Сначала вводится информация о майках: в первой строке целое число N (1 ≤ N ≤ 100 000) и во второй N целых чисел от 1 до 10 000 000 — цвета имеющихся в наличии маек. Гарантируется, что номера цветов идут в возрастающем порядке (в частности, цвета никаких двух маек не совпадают).

Далее в том же формате идёт описание штанов: их количество M (1 ≤ M ≤ 100 000) и в следующей строке M целых чисел от 1 до 10 000 000 в возрастающем порядке — цвета штанов.

Выходные данные
Выведите пару неотрицательных чисел — цвет майки и цвет штанов, которые следует выбрать Глебу. Если вариантов выбора несколько, выведите любой из них.
Примеры
Входные данные
2
3 4
3
1 2 3
Выходные данные
3 3
Входные данные
2
4 5
3
1 2 3
Выходные данные
4 3
--------------------------------------------------------------------------------------------
От друга однажды услышал про метод двух указателей. Думаю, что это тот самый метод, который нужно применить, но особого объяснения/реализации не нашел

Написал программу, которая очевидно не зайдет по времени:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
minimum=10000001
shirts_num=int(input())
shirts=[int(i) for i in input().split()]
pants_num=int(input())
pants=[int(i) for i in input().split()]
for i in range(shirts_num):
    for j in range(pants_num):
        if pants[j]>shirts[i]:
            continue
        else:
            z=max(pants[j], shirts[i]) - min(pants[j], shirts[i])
            if z<minimum:
                minimum=z
                otv_a=shirts[i]
                otv_b=pants[j]
print(otv_a,otv_b)
Помоготе, пожалуйста!

P.S. простите за грамотность
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2019, 10:02
Ответы с готовыми решениями:

Массив указателей на метод в классе
Есть класс class qThread: public QThread { Q_OBJECT public: SerfingThread();

Сложение двух указателей
Как сложить 2 указателя? Если нельзя, то почему?

Ошибка в использовании указателей - метод списка
Хочется прописать функцию, которая бы удаляла переданный ей элемент из списка. Но функция почему-то удаляет следующий элемент :( В чём...

2
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
23.07.2019, 13:36
Лучший ответ Сообщение было отмечено New1111 как решение

Решение

Из одной группы? Стильная одежда
1
0 / 0 / 0
Регистрация: 22.01.2018
Сообщений: 18
24.07.2019, 10:19  [ТС]
Да. Спасибо за ссылку на тему.
P.S. Оказалось, что метод очень легкий, стоило только посмотреть реализацию)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.07.2019, 10:19
Помогаю со студенческими работами здесь

C++ задача(массив указателей)
Не понимаю как решить, вроде все написал, но мне выдают что ответ не верный Условие: Какого размера массив? Вы подглядели у...

Примеры с использованием двух указателей
Доброго времени суток! Не понимаю как используются два указателя Почему именно 2, а не 1. есть пример: void makeTree(TNode** pp,...

Создание меню с использованием указателей на метод класса
Добрый вечер. Помогите пожалуста разобраться с указателями на метод класса и вызов методов класса через указатель, как в данном коде...

Поменять значения адресов двух указателей
Добрый день. Суть программы - поменять первую строку массива с той, в которой встретиться наибольшее значение элемента. Но это не суть...

Указатели. Сравнение двух указателей и их sizeof()
Есть код: int main() { int x = 10; int y = 10; int *xptr = &amp;x; int *yptr = &amp;y; setlocale(LC_ALL, &quot;Russian&quot;); //сравниваем...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru