• Как решить олимпиадную задачу python?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Тут есть 2 подхода - дихотомия (бинарный поиск) по ответу, как написал Василий Банников: Вы бинарным поиском ищите значение r. Для каждого значения проверяете, а связен ли граф всех антен через обход в глубину (ребро межу двумя антеннами, если они видят друг друга напрямую для данного r).

    Другой вариант - через алгоритм построения остовного дерева Краскала. Сортируете все возможные ребра в графе (все расстояния между парами вершин). Потом добавляйте в изначально пустой граф ребра в этом порядке, пока он не станет связен (пока не построите остовное дерево). Последнее добавленное ребро и будет задавать r (половина длины ребра - ответ).
    Ответ написан
    Комментировать
  • Как сравнить табличные части документов?

    @dimoff66
    Кратко о себе: Я есть
    Самое простое запросом. Что-то вроде

    "ВЫБРАТЬ 
      Номенклатура, 
      СУММА(Количество)
    ИЗ (
      ВЫБРАТЬ Номенклатура, Количество 
      ИЗ Документ.РТиУ.Номенклатура ГДЕ Ссылка = &РТиУ
      ОБЪЕДИНИТЬ ВСЕ
      ВЫБРАТЬ Номенклатура, - Количество 
      ИЗ Документ.СФ.Номенклатура ГДЕ Ссылка = &СФ
    )
    СГРУППИРОВАТЬ ПО Номенклатура 
    ИМЕЮЩИЕ СУММА(Количество) <> 0"
    Ответ написан
    Комментировать
  • Как сравнить табличные части документов?

    @Dementor
    программист, архитектор, аналитик
    Самое быстрое и простое:

    1) Выгрузить табличные части в таблицы значений и свернуть по номенклатура с итогами по количеству (но случай, если в отличии от СФ в РТиУ дробили данные по аналитике затрат)

    2) Делать обход циклом строк по одной таблице и делать поиск соответствующей строки во второй:
    2.1) Если строки нет, то выводить сообщение, что такой-то номенклатуры в РТиУ нет
    2.2) Если строка есть, но количество не то, то выводить сообщение про наличие дельты.

    3) Найденную строку второй таблицы после сравнения количества удалять из второй таблицы.

    4) После окончания цикла по первой таблице, сделать цикл по второй таблице и сообщить, что в отличии от СФ в РТиУ появились новые позиции с таким-то количеством.
    Ответ написан
    Комментировать
  • Как скопировать значение одного реквизита справочника в другой?

    Sgr_A
    @Sgr_A
    Нет такой конфигурации "торговля 2", зато есть Управление торговлей разных редакций (10.х и 11.х).

    //Получаете номенклатуру выборкой или запросом, как душа пожелает.
    КоллекцияНоменклатуры = ПолучитьНоменклатуру();
    
    Для каждого НоменклатураСсылка Из КоллекцияНоменклатуры Цикл
    Попытка
    НоменклатураОбъект = НоменклатураСсылка.ПолучитьОбъект(); 
    НоменклатураОбъект.НазваниеТовара = НоменклатураОбъект.Наименование;
    НоменклатураОбъект.Записать();
    Исключение
    ТекстПроблемы = ОписаниеОшибки();
    ТекстПроблемы = СтрШаблон(НСтр("ru = 'Ошибка присвоения названия товару %1'), НоменклатураСсылка.Наименование);
    КонецПоптыки;
    
    КонецЦикла;
    Ответ написан
    2 комментария