Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.63/35: Рейтинг темы: голосов - 35, средняя оценка - 4.63
3 / 3 / 1
Регистрация: 26.12.2019
Сообщений: 170

Межцивилизационный телеграф

08.09.2021, 22:50. Показов 7284. Ответов 41

Студворк — интернет-сервис помощи студентам
Гуманоид Коля хочет как можно быстрее и громче передать сигнал Ксеноморфу Васе на другую планету. Ксеноморфы не умеют читать на языке Коли, и Вася не исключение, поэтому придется использовать специальную Ксеноморфную азбуку из 9 символов.

Передача каждого символа Ксеноморфов не бесплатна и стоит сколько-то динаров. Количество динаров у Коли и стоимость передачи каждого символа будут известны в межпланетном телеграфном пункте.

Коля не сильно понимает значения символов Ксеноморфов, но почему-то считает, что чем большим будет кол-во и разнообразие отправленных символов, и чем большее количество динаров заплатит за их передачу — тем быстрее Вася получит сигнал.

Помогите Коле найти такие индексы символов, соединив которые конкатенацией мы получим максимальное число, при этом потратив максимальное кол-во динар. Индекс — число от 1 до 9. Ответ ожидается в виде строки с индексами, которые могут повторяться.

Примеры

Пример 1

Ввод
[5,[5,4,3,2,1,2,3,4,5]]
Вывод
"55555"

Пример 2

Ввод
[2,[9,11,1,12,5,8,9,10,6]]
Вывод
"33"
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.09.2021, 22:50
Ответы с готовыми решениями:

Телеграф
«Телеграф»: Разработайте программу для перевода с естественного языка в азбуку Морзе и обратно. 7.1. Английский. 7.2. Русский.

Программа телеграф.
Помогите решить задачку... Написать программу телеграф, которая принимает от пользователя сообщение и выводит на экран в виде...

старый телеграф
пожалуйста помогите написать прогу на языке си в ворланде си ++ фо дос Старый телеграф. Читать посимвольно исходный файл, переписывая...

41
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 16:52
Студворк — интернет-сервис помощи студентам
t1mmz, и что это значит, интересно узнать?..
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
12.09.2021, 16:57
Я забыл добавить формат ввода, он тоже изменился. Текст задачи отредактирован. Прочитайте еще раз, теперь там чуть больше ясности (но мне все равно не понятно).
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
12.09.2021, 17:08
Цитата Сообщение от t1mmz Посмотреть сообщение
Я прогонял свой код с вариантами "потратить больше денег" и "найти самое длинное решение" - результат проверочных тестов не изменился.
Ну попробуйте так:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function telegraph(money, costs) {
  const
    o = costs.reduce((acc, n, i, a) => (
      (this.tmp = +(i+1).toString().repeat(Math.trunc(money / n))),
      acc.max <= this.tmp && n <= money && (acc.iMax = i, acc.max = this.tmp),
      i === a.length-1 && acc.max < 0 && (acc.max = ''),
      i === a.length-1 && (acc.max += '', acc.diff = money % acc.max.length),
      acc
    ), {max: -Infinity, iMax: -1, diff: -1}),
 
    dupValsIndexes = costs.reduceRight((acc, n, i) => (
      n === costs[o.iMax] && acc.push(i),
      acc
    ), []);
  
  let res = o.max;
  if (o.diff) { 
    for (let i = o.iMax; i < costs.length; i++) {
      if (costs[o.iMax] === costs[i]-o.diff) {
        res = (o.max[0] = i+1) + o.max.substring(1, costs.length);
      }
    }
  }
  
  if (dupValsIndexes.length <= res.length) {
    let diff = res.length - dupValsIndexes.length,
        tmp = '';
    for (let i = dupValsIndexes.length-1, j = 0; i >= 0; i--, j++) {
        tmp += dupValsIndexes[j]+1;
    }
    if (diff) {
        res = res.substring(0, diff) + tmp;
    }
  }
  
  return res;
}
Добавлено через 1 минуту
Цитата Сообщение от t1mmz Посмотреть сообщение
в задаче обновилось условие (уведомлений не было, почему-то)
1
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 17:19
Tavashi, к сожалению, не прокатывает - Wrong Answer на трех тестах...


Видимо моё решение + правка t1mmz, наиболее близки к реальности, но алгоритм натыкается на какой-то эдж-кейс.

Я вообще в фрустрации от этого контеста - больше всего от задания по вёрстке. Как ни старался манипулировать шрифтом и word/letter-spacing'ом, всё равно результата никакого - все тесты бракуют решение.
Миниатюры
Межцивилизационный телеграф  
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
12.09.2021, 17:35
Ваш код выдает ошибку в node.js, я думаю из-за this
JavaScript
1
TypeError: Cannot set properties of undefined (setting 'tmp')
для фикса можно заменить на локальную для telegraph() переменную, например const _this = {}

Некоторые результаты тестов
Кликните здесь для просмотра всего текста
Input: [20, [21,3,13,3,17,3,3,4,5]]

Result: 777777 (balanaar_v1) (FAIL: 977642 is expected)
Result: 777777 (tgTavashi_v2) (FAIL: 977642 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v3) (FAIL: 977642 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v4) (FAIL: 977642 is expected)
Result: 977642 (bestIndices_div) (OK)
-----

Input: [20, [21,3,13,3,3,3,3,4,5]]

Result: 777777 (balanaar_v1) (FAIL: 976542 is expected)
Result: 777777 (tgTavashi_v2) (FAIL: 976542 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v3) (FAIL: 976542 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v4) (FAIL: 976542 is expected)
Result: 976542 (bestIndices_div) (OK)
-----

Input: [1002, [11,7,13,7,7,7,7,11,13]]

Result: 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 77777777777777777777777 (balanaar_v1) (FAIL: >_< is expected)
Result: 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 77777777777777777777777 (tgTavashi_v2) (FAIL: >_< is expected)
Result: 7.777777777777778e+142 (tgTavashi_v3) (FAIL: >_< is expected)
Result: 7.77777777777777876542 (tgTavashi_v4) (FAIL: >_< is expected)
Result: 8777777777777777777777777777777777777777 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 7777777777777777765421 (bestIndices_div) (FAIL: >_< is expected)


Добавлено через 13 минут
Цитата Сообщение от BigDDD Посмотреть сообщение
к сожалению, не прокатывает - Wrong Answer на трех тестах...
Я выше тестовый стенд кидал, предлагаю тестировать сначала на нем.

Про верстку, оффтопик
Кликните здесь для просмотра всего текста

Цитата Сообщение от BigDDD Посмотреть сообщение
Я вообще в фрустрации от этого контеста - больше всего от задания по вёрстке ак ни старался манипулировать шрифтом и word/letter-spacing'ом, всё равно результата никакого - все тесты бракуют решение.
Только сейчас заметил, что там тоже есть тесты, мое решение сразу же оказалось верным.

Верстка - самое легкое, что там было.

Советы:

1. не нужно трогать ворд/леттер спейсинг, если у вас не выходит пиксель-перфект, дело исключительно в браузере. Комбинация браузера и ОС дает заметно разные результаты рендера итогового текста, + мне кажется проверочные картинки там специально слегка кривые сделаны
2. line-height трогать можно и нужно, используйте значения ровно такие, какие и для шрифтов


Цитата Сообщение от BigDDD Посмотреть сообщение
алгоритм натыкается на какой-то эдж-кейс.
Эдж кейс здесь оказывается "недоступность символов". Но я не понимаю, куда это применить. Если массив стоимостей приходит меньшей длины, это по идее ни на что влиять не должно. Если же в массиве некоторые значения могут быть null/undefined - я добавил проверку, результаты тестов в системе не изменились. Может быть в таком случае надо "схлопнуть" этот массив?
1
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 18:14
t1mmz, спасибо за совет с вёрсткой! Поигрался с line-height и сразу прошло тесты.

По поводу
Если же в массиве некоторые значения могут быть null/undefined
Не думаю что это возможно, т.к. в условии задачи:

Формат ввода

Первый аргумент — целое число dinars (0 ≤ dinars ≤ 1e6). Второй аргумент — массив положительных целых чисел a1, a2, ..., an (1 ≤ ai ≤ 1e5, 3 ≤ n ≤ 9).
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
12.09.2021, 18:23
Некоторые наблюдения - 7-й тест получает на вход массив длиной меньше 9.
0
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 19:20
t1mmz, есть успехи? Всё, что пробовал, не обвенчалось успехом. Так и не смог понять, какое условие требуется для 8.
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
12.09.2021, 19:32
Всё. Решено.

Из своего кода делаю такие выводы о "сортировке" ответов

- самые длинные
- самые "разнообразные"
- самые большие (как числа)

Моя ошибка была в том, что в самом конце на этапе выбора между финальными кандидатами в ответы я не сделал эту сортировку (хотя делал во время построения этих кандидатов).
0
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 19:35
t1mmz, поздравляю! Получится приложить решение?
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
12.09.2021, 20:44
BigDDD, частичное решение - получится.

Кликните здесь для просмотра всего текста

Видео как решать такие задачи (best sum problem) табличным способом я кидал выше. В том же видео есть способ решить такое рекурсией.

Та часть, из-за отсутствия которой была ошибка в 8 тесте, на скриншоте


calcDiff() уже видели.

Выборка ответа выполняется не только в конце, но и во время построения частичных решений (на скриншоте это не показано).

Каждое частичное решение перед этим сортируется по убыванию, т.е. 12345 становится 54321. Это можно сделать тупо в лоб с sort(). Потом оно обрабатывается кодом как на скриншоте.

0
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 20:50
t1mmz, благодарю за подсказки, постараюсь ещё раз пробежаться по алгоритму.
0
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 1
12.09.2021, 20:54
Не знаешь 10 тест за что отвечает?
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
12.09.2021, 21:01
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function telegraph(money, costs) {
  const
    o = costs.reduce((acc, n, i, a) => (
      (this.tmp = +(i+1).toString().repeat(Math.trunc(money / n))),
      acc.max <= this.tmp && n <= money && (acc.iMax = i, acc.max = this.tmp),
      i === a.length-1 && acc.max < 0 && (acc.max = ''),
      i === a.length-1 && (acc.max += '', acc.diff = money % acc.max.length),
      acc
    ), {max: -Infinity, iMax: -1, diff: -1}),
    
    dupValsIndexes = costs.reduceRight((acc, n, i) => (
      n === costs[o.iMax] && acc.push(i),
      acc
    ), []);
  
  let res = o.max;
  if (o.diff) { 
    for (let i = o.iMax; i < costs.length; i++) {
      if (costs[o.iMax] === costs[i]-o.diff) {
        res = (o.max[0] = i+1) + o.max.substring(1, costs.length);
      }
    }
  }
  
  if (dupValsIndexes.length <= res.length) {
    let diff = res.length - dupValsIndexes.length,
        tmp = '';
    for (let i = dupValsIndexes.length-1, j = 0; i >= 0; i--, j++) {
        tmp += dupValsIndexes[j]+1;
    }
    if (diff) {
        res = res.substring(0, diff) + tmp;
    }
  }
  
  return res;
}
Цитата Сообщение от t1mmz Посмотреть сообщение
Result: 777777 (tgTavashi_v2) (FAIL: 977642 is expected)
Цитата Сообщение от t1mmz Посмотреть сообщение
Result: 777777 (tgTavashi_v2) (FAIL: 976542 is expected)
JavaScript
1
2
console.log(telegraph(20, [21,3,13,3,17,3,3,4,5])); // 977642
console.log(telegraph(20, [21,3,13,3,3,3,3,4,5])); // 976542
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
12.09.2021, 21:17
Цитата Сообщение от neoro Посмотреть сообщение
Не знаешь 10 тест за что отвечает
На жор памяти. Там наверное данные уровня [100000, [1,1,1,1,1,..]].

Tavashi ваш код работает нормально только в браузере, node выдает вот такое

Кликните здесь для просмотра всего текста
Input: [20, [21,3,13,3,17,3,3,4,5]]

Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v3) (FAIL: 977642 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v4) (FAIL: 977642 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tavashi_v5) (FAIL: 977642 is expected)
Result: 977642 (Correct Algorithm) (OK)
-----

Input: [20, [21,3,13,3,3,3,3,4,5]]

Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v3) (FAIL: 976542 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tgTavashi_v4) (FAIL: 976542 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '777777' (tavashi_v5) (FAIL: 976542 is expected)
Result: 976542 (Correct Algorithm) (OK)
-----

Input: [20, [21,3,13,5,3,4,5]]

Result: TypeError: Cannot assign to read only property '0' of string '555555' (tgTavashi_v3) (FAIL: 755552 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '555555' (tgTavashi_v4) (FAIL: 755552 is expected)
Result: TypeError: Cannot assign to read only property '0' of string '555555' (tavashi_v5) (FAIL: 755552 is expected)
Result: 755552 (Correct Algorithm) (OK)
-----

Input: [1002, [11,7,13,7,7,7,7,11,13]]

Result: 7.777777777777778e+142 (tgTavashi_v3) (FAIL: >_< is expected)
Result: 7.77777777777777876542 (tgTavashi_v4) (FAIL: >_< is expected)
Result: 7.77777777777777876542 (tavashi_v5) (FAIL: >_< is expected)
Result: 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 77777777777777777776542 (Correct Algorithm) (FAIL: >_< is expected)
-----

Input: [386, [11,7,11,7,11,7,11,7,5]]

Result: 1e+77 (tgTavashi_v3) (FAIL: >_< is expected)
Result: 1e+79 (tgTavashi_v4) (FAIL: >_< is expected)
Result: 1e+79 (tavashi_v5) (FAIL: >_< is expected)
Result: 9999999999999999999999999999999999999999 9999999999999999999999999999999999999 (Correct Algorithm) (FAIL: >_< is expected)
-----
0
0 / 0 / 0
Регистрация: 12.09.2021
Сообщений: 11
12.09.2021, 22:55
Тоже нашёл решение, но из-за того, что я использую рекурсию, упираюсь в тест на жор памяти.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
module.exports = (amount, costsArray) => {
    let combos = [];
 
    if (costsArray.length < 1 || amount === 0 || !costsArray.find(element => element < amount)) {
        return "";
    }
 
    var combinationSum = function(candidates, target, combos, currCombo, index) {
 
        if (target === 0) combos.push([...currCombo].sort().reverse());
        else if (target < candidates[index]) combos.push([...currCombo].sort().reverse());
 
        if (target < 0) return;
      
        for (let i = index; i < candidates.length; i++) {
            if (candidates[i] <= target) {
                
                currCombo.push(i + 1);
 
                combinationSum(candidates, target - candidates[i], combos, currCombo, i);
 
                currCombo.pop();
 
            }
        }
    }
 
    combinationSum(costsArray, amount, combos, [], 0);
 
    let t = combos.filter(p => p !== undefined);
 
    let max = t.reduce((acc, path) => {
        if (path.length > acc.length)
            return path
        else if (path.length === acc.length) {
            const diff = calcDiff(path, acc)
            if (diff === 0 && path > acc || diff > 0)
                return path
        }
 
        return acc
    }, "");
    
    function calcDiff(a, b) {
        return new Set(a).size - new Set(b).size
    }
 
 
 
    return max.join('');
}
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
13.09.2021, 00:53
Цитата Сообщение от t1mmz Посмотреть сообщение
node выдает вот такое
А так?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function telegraph(money, costs) {
  const
    o = costs.reduce((acc, n, i, a) => (
      acc.tmp = +(i+1).toString().repeat(Math.trunc(money / n)),
      acc.max <= acc.tmp && n <= money && (acc.iMax = i, acc.max = acc.tmp),
      i === a.length-1 && acc.max < 0 && (acc.max = ''),
      i === a.length-1 && (acc.max += '', acc.diff = money % acc.max.length),
      acc
    ), {max: -Infinity, iMax: -1, diff: -1, tmp: -1}),
    
    dupValsIndexes = costs.reduceRight((acc, n, i) => (
      n === costs[o.iMax] && acc.push(i),
      acc
    ), []);
  
  let res = o.max;
  if (o.diff) { 
    for (let i = o.iMax; i < costs.length; i++) {
      if (costs[o.iMax] === costs[i]-o.diff) {
        res = (o.max[0] = i+1) + o.max.substring(1, costs.length);
      }
    }
  }
  
  if (dupValsIndexes.length <= res.length) {
    let diff = res.length - dupValsIndexes.length,
        tmp = '';
    for (let i = dupValsIndexes.length-1, j = 0; i >= 0; i--, j++) {
        tmp += dupValsIndexes[j]+1;
    }
    if (diff) {
        res = res.substring(0, diff) + tmp;
    }
  }
  
  return res;
}
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
13.09.2021, 08:19
Срок сдачи продлили до 15.

Цитата Сообщение от Tavashi Посмотреть сообщение
А так?
Ошибка вот здесь
JavaScript
1
2
// TypeError: Cannot assign to read only property '0' of string '777777'
res = (o.max[0] = i+1) + o.max.substring(1, costs.length);
Вы пытаетесь одним выражением обновить строку и вернуть число-индекс, но в js такой трюк не выйдет - строки read-only и изменить символ по индексу не получится. Исправленная(?) версия выглядит так:
JavaScript
1
res = (i + 1) + res.substring(1, costs.length);
Тесты этой исправленной версии (tavashi_v6).
Кликните здесь для просмотра всего текста

Input: [19, [15,16,16,10,17,11,19,15,11]]

Result: 9 (tavashi_v5) (OK)
Result: 9 (tavashi_v6) (OK)
Result: 9 (Correct Algorithm) (OK)
-----

Input: [20, [21,3,13,3,17,3,3,4,5]]

Result: TypeError: Cannot assign to read only property '0' of string '777777' (tavashi_v5) (FAIL: 977642 is expected)
Result: 977642 (tavashi_v6) (OK)
Result: 977642 (Correct Algorithm) (OK)
-----

Input: [20, [21,3,13,3,3,3,3,4,5]]

Result: TypeError: Cannot assign to read only property '0' of string '777777' (tavashi_v5) (FAIL: 976542 is expected)
Result: 976542 (tavashi_v6) (OK)
Result: 976542 (Correct Algorithm) (OK)
-----

Input: [20, [21,3,13,5,3,4,5]]

Result: TypeError: Cannot assign to read only property '0' of string '555555' (tavashi_v5) (FAIL: 755552 is expected)
Result: 755552 (tavashi_v6) (OK)
Result: 755552 (Correct Algorithm) (OK)
-----

Не по теме:

Пробел в середине длинных результатах вставляет форум



Input: [386, [11,7,11,7,11,7,11,7,5]]

Result: 1e+79 (tavashi_v5) (FAIL: >_< is expected)
Result: 1e+79 (tavashi_v6) (FAIL: >_< is expected)
Result: 9999999999999999999999999999999999999999 9999999999999999999999999999999999999 (Correct Algorithm) (FAIL: >_< is expected)
-----

Input: [1002, [11,7,13,7,7,7,7,11,13]]

Result: 7.77777777777777876542 (tavashi_v5) (FAIL: >_< is expected)
Result: 7.77777777777777876542 (tavashi_v6) (FAIL: >_< is expected)
Result: 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 7777777777777777777777777777777777777777 77777777777777777776542 (Correct Algorithm) (FAIL: >_< is expected)
-----
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
13.09.2021, 14:55
Цитата Сообщение от t1mmz Посмотреть сообщение
строки read-only
Это верно.
Цитата Сообщение от t1mmz Посмотреть сообщение
Вы пытаетесь одним выражением обновить строку
Это неверно. Та запись не обновляет строку, а возвращает значение. В нестрогом режиме такое сделать можно.
Цитата Сообщение от t1mmz Посмотреть сообщение
Исправленная(?) версия выглядит так
Я так понимаю, не проходит последние два теста, где должна возвращаться пустая строка в качестве ответа. Попробуйте через Number.isSafeInteger:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function telegraph(money, costs) {
  const
    o = costs.reduce((acc, n, i, a) => (
      acc.tmp = +(i+1).toString().repeat(Math.trunc(money / n)),
      acc.max <= acc.tmp && n <= money && (acc.iMax = i, acc.max = acc.tmp),
      i === a.length-1 && acc.max < 0 && (acc.max = ''),
      i === a.length-1 && (acc.max += '', acc.diff = money % acc.max.length),
      acc
    ), {max: -Infinity, iMax: -1, diff: -1, tmp: -1}),
    
    dupValsIndexes = costs.reduceRight((acc, n, i) => (
      n === costs[o.iMax] && acc.push(i),
      acc
    ), []);
  
  let res = o.max;
  if (o.diff) { 
    for (let i = o.iMax; i < costs.length; i++) {
      if (costs[o.iMax] === costs[i]-o.diff) {
        res = (i+1) + o.max.substring(1, costs.length);
      }
    }
  }
  
  if (dupValsIndexes.length <= res.length) {
    let diff = res.length - dupValsIndexes.length,
        tmp = '';
    for (let i = dupValsIndexes.length-1, j = 0; i >= 0; i--, j++) {
        tmp += dupValsIndexes[j]+1;
    }
    if (diff) {
        res = res.substring(0, diff) + tmp;
    }
  }
  
  return Number.isSafeInteger(+res) ? res : '';
}
0
3 / 3 / 0
Регистрация: 11.09.2021
Сообщений: 15
13.09.2021, 16:07
Цитата Сообщение от Tavashi Посмотреть сообщение
не проходит последние два теста, где должна возвращаться пустая строка в качестве ответа
>_<, как ожидаемое значение в моем тестовом стенде - это просто не желание забивать лог длинными ответами. В выводе выше Correct Algorithm - считать за эталон, это код, который проходит все тесты в системе яндекса.

Ответы типа таких
JavaScript
1
2
Result: 1e+79 (tavashi_v6) (FAIL: >_< is expected)
Result: 7.77777777777777876542 (tavashi_v6) (FAIL: >_< is expected)
неправильные, я тоже об них споткнулся

JavaScript
1
2
988888888888888880 + 9 // output: 988888888888888800 | expected: 988888888888888889 
+"11111111111111111111111111111"; // 1.1111111111111112e+28
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.09.2021, 16:07
Помогаю со студенческими работами здесь

Телеграф - исправить ошибку в коде
Program_telegraph; Uses Crt Const Morse: array of = ( '.-` , `-...' , '.---` , `--/.` , {А, Б, В, Г} '-.. ` , `. `, '...-' ,...

Как написать программу-телеграф?
Помогите плиз Написать программу-телеграф,которая принимает от пользователей сообщение и выводит его на экран в виде последовательности...

Азбука Морзе, программа-телеграф
программа-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последова-тельности точек и тире. Вывод точек...

Программа телеграф на турбо паскале можно на фри
Написать программу – телеграф, который принимает от пользователя сообщения и выводит его на экран в виде последовательности точек и тире....

Напишите программу-телеграф с выводом тире и точек, а также звуковым сопровождением
Напишите программу-телеграф, которая принимает от пользователя сообщение и выводит его на экран в виде последовательности точек и тире....


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru