Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566

Нужно ускорить/опитимизировать код

30.04.2023, 08:37. Показов 3651. Ответов 55
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:
La Cucaracha Каждую полночь в квартире ученого Васи начинается ужас. Сотни ..., о нет! ТЫСЯ- ЧИ тараканов вылазят из каждой дырки к его обеденному столу, уничтожая все крошки и объедки! Вася ненавидит тараканов. Он очень долго думал и сделал Супер-ловушку, которая привлекает всех тараканов в большой зоне после активации. Он планирует ак- тивировать ловушку сегодня ночью. Но есть проблема. Эта очень эффективная ловушка с её очень большой зоной работы поглощает огромное количество энергии. Так что, Вася планирует минимизировать время работы этой ловушки. Он собрал информацию о всех местах, в которых живут тараканы. Также он заметил, что все тараканы двигаются толь- ко по линиям его скатерти с постоянной скоростью (мы можем предположить, что эта скорость равна 1, так что таракан расположенный в одной из секций, может за 1 едини- цу времени переместится на любую соседнюю секцию (по вертикали или горизонтали)). Вася решил активировать его ловушку в одной из секций. Когда ловушка активирована, все тараканы будут двигаться к секции, содержащей ловушку, так быстро, как только смогут. Поэтому в любой момент времени после активации тараканы двигаются к сек- ции, в которой находится ловушка, максимально уменьшая расстояние до неё. Если есть два пути с одинаковым расстоянием, то таракан выберет любой. Напишите программу для Васи, которая выбирает секцию, минимизирующую время, необходимое для уни- чтожения всех тараканов. Конечно, ваша программа будет считать, что скатерть будет плоскостью с декартовой системой координат и секции — точки с целыми координатами. Формат входного файла В первой строке входного файла содержится число мест, в которых живут тараканы М (1< М < 10000). Следующие М строк содержат 1 и у — координаты мест, в которых живут тараканы (целые числа не больше 10° по абсолютному значению). Формат выходного файла Вам необходимо вывести только два целых числа х и у, не превосходящие по модулю 10°, — координаты секции, которая минимизирует время работы. Если есть более одное решение — выведите любое из них.
Вот мой код:
Python
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
def max_distance(trap_x, trap_y, coordinates):
    distance = 0
    for x, y in coordinates:
        distance = max(distance, abs(trap_x - x) + abs(trap_y - y))
    return distance
 
 
def main():
    M = int(input())
    coordinates = [tuple(map(int, input().split())) for _ in range(M)]
 
    x_min, _ = min(coordinates, key=lambda c: (c[0], c[1]))
    x_max, _ = max(coordinates, key=lambda c: (c[0], c[1]))
    _, y_min = min(coordinates, key=lambda c: (c[1], c[0]))
    _, y_max = max(coordinates, key=lambda c: (c[1], c[0]))
 
    min_time = float('inf')
    result_x, result_y = 0, 0
 
    for trap_x in range(x_min, x_max + 1):
        for trap_y in range(y_min, y_max + 1):
            cur_time = max_distance(trap_x, trap_y, coordinates)
            if cur_time < min_time:
                min_time = cur_time
                result_x, result_y = trap_x, trap_y
 
    print(result_x, result_y)
 
 
if __name__ == "__main__":
    main()

Но он не проходит огроменный тест((
Кликните здесь для просмотра всего текста
239
-254 -670
-596 714
608 -680
-96 479
-1 -97
620 440
-112 339
514 -265
65 -386
119 -13
223 -386
-254 -158
159 271
589 -341
560 553
620 295
62 -546
516 352
396 88
-685 -521
217 294
52 -86
205 -608
58 225
-673 -532
-195 -14
-204 -5
-41 11
-65 -689
-289 385
350 -386
-226 284
465 -425
-561 -326
90 644
403 430
-459 399
313 483
-630 -286
-519 -623
-314 698
155 -506
-609 -65
-466 517
347 600
-308 -599
295 -71
443 -153
337 -706
449 -205
62 -203
609 400
-354 -201
-145 -28
-44 -355
-360 -150
625 538
-642 -677
-700 -716
-309 100
-59 -439
-286 -391
-339 525
-273 85
-21 -63
671 506
-193 589
-93 519
-463 524
-694 -96
76 -388
334 470
-322 -616
-69 398
376 694
-121 124
336 -197
-302 437
427 -360
-590 -302
611 252
122 276
-616 258
-629 234
-141 -132
33 -237
556 692
311 530
-401 -642
108 -550
-272 -426
642 271
481 202
306 706
113 471
225 -705
67 712
276 555
-591 279
-263 180
20 441
-160 -138
627 307
133 -202
-241 3
-420 496
-669 -123
-679 -22
-470 643
69 69
385 -311
412 -46
-28 649
-242 38
-373 624
-29 -689
-368 122
138 -91
-633 -600
-689 -53
449 -280
-502 493
285 -253
95 -131
-295 586
-308 441
-120 354
32 353
0 -315
89 399
341 -237
138 638
-55 669
211 441
1 -438
604 249
7 71
-404 -622
-56 133
-369 321
562 500
622 263
-48 439
-476 -358
-693 603
-61 555
-454 405
-35 -246
-463 544
79 -46
-145 166
-20 449
562 38
-367 70
531 480
0 29
424 428
-695 241
360 0
-291 312
-594 -696
-563 -463
102 -550
279 610
61 652
505 646
404 -199
-475 -674
-577 332
-608 -139
521 167
67 314
684 -15
101 474
708 -257
354 -414
-142 588
169 -646
-311 -528
135 -261
502 39
122 -199
99 575
275 436
555 517
110 460
386 -60
-204 -623
69 -203
-498 458
442 -409
173 -541
-292 -495
-561 696
-581 106
-313 602
44 192
-264 -158
99 -495
-660 632
235 453
178 -618
-275 476
247 -520
377 65
478 516
287 115
-305 -469
356 3
313 59
-473 -513
189 673
-490 -694
-541 -287
-25 2
-50 105
-35 287
-554 -4
130 -481
713 -233
-698 561
-435 367
-625 -331
-170 -129
-183 584
139 -210
-623 -13
-315 48
-76 -548
143 624
574 382
-21 -482
-707 461
653 43
-550 482
148 571
481 633
-222 561
-450 126



Что делать? Как быть?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2023, 08:37
Ответы с готовыми решениями:

Задача: даны НОК и НОД. Нужно найти все пары чисел, для которых они верны. Нужно ускорить код
Коллеги, всем привет. Задача: есть НОК и НОД, нужно найти все пары чисел, для которых они верны. У меня получилось такое решение: ...

Ускорить код:
вот задача: На детском утреннике Дед Мороз выдал каждому из n детей по конфете. Однако дети оказались капризными, и каждый из...

Как ускорить код?
https://inf-ege.sdamgia.ru/problem?id=36000 задача с файлом отсюда написал код : with open ('26-2.txt') as f: ...

55
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,759
30.04.2023, 10:44
Почему бы не взять просто среднее по х и среднее по y? С учетом дискретности, конечно же.
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 11:13  [ТС]
u235,
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def read_input():
    M = int(input())
    locations = []
    for _ in range(M):
        x, y = map(int, input().split())
        locations.append((x, y))
    return locations
 
def find_best_section(locations):
    avg_x = sum(x for x, y in locations) / len(locations)
    avg_y = sum(y for x, y in locations) / len(locations)
    
    best_section = (round(avg_x), round(avg_y))
    return best_section
 
locations = read_input()
best_section = find_best_section(locations)
 
print(*best_section)

Вот так что-ли?
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 11:22  [ТС]
или нет??

Добавлено через 9 минут
Видимо нет, полегла на предыдущем тесте:
Кликните здесь для просмотра всего текста

50
-36 -94
-83 100
85 -95
-14 67
0 -14
87 62
-16 48
72 -37
9 -54
17 -2
31 -54
-36 -22
22 38
82 -48
78 78
87 41
9 -77
72 49
55 12
-96 -73
30 41
7 -12
29 -85
8 31
-94 -75
-27 -2
-29 -1
-6 2
-9 -97
-41 54
49 -54
-32 40
65 -60
-79 -46
13 90
56 60
-64 56
44 68
-88 -40
-73 -87
-44 98
22 -71
-85 -9
-65 72
49 84
-43 -84
41 -10
62 -21
47 -99
63 -29

--- Результат работы: размер 5 ---
5 -5

--- Правильный ответ: размер 6 ---
-4 -3
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.04.2023, 11:33
Цитата Сообщение от u235 Посмотреть сообщение
Почему бы не взять просто среднее по х и среднее по y? С учетом дискретности, конечно же.
u235, так среднее не работает даже на прямой)
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 11:56  [ТС]
Red white socks, u235, мне учитель говорил, что можно рассматривать каким-то образом четырехугольник на плоскости, в который должны входить ловушки, а если они выходят за края(а должны заходить в вершины), то нужно повернуть его на 45гр*sqrt(2)

Как это реализовать??

Добавлено через 11 минут
Реализовать смог, но код теперь даже третий тест не могёт
Python
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
from math import sqrt
 
 
def main():
    n = int(input().strip())
    locations = []
    for _ in range(n):
        x, y = map(int, input().strip().split())
        locations.append((x, y))
 
    min_x, max_x, min_y, max_y =\
        float('inf'), float('-inf'), float('inf'), float('-inf')
 
    for loc in locations:
        min_x = min(min_x, loc[0])
        max_x = max(max_x, loc[0])
        min_y = min(min_y, loc[1])
        max_y = max(max_y, loc[1])
 
    if max_x - min_x > max_y - min_y:
        rotation = 45 * sqrt(2)
        min_y = (min_y + min_x) / 2 - rotation / 2
        max_y = (max_y + max_x) / 2 + rotation / 2
 
    trap_x, trap_y = (min_x + max_x) // 2, (min_y + max_y) // 2
 
    print(trap_x, trap_y)
 
 
if __name__ == "__main__":
    main()
Ввод:
3
0 0
4 4
-1 5
Вывод(моего кода):
1 2
Правильный выовд:
0 4
0
Эксперт Python
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
30.04.2023, 12:04
DOPIXKMNLD, зависимость расстояния линейная (и без весов) от координат. Должно так прокатить:
Python
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
def main():
    M = int(input())
    coordinates = [tuple(map(int, input().split())) for _ in range(M)]
    
    #x_min, _ = min(coordinates, key=lambda c: (c[0], c[1]))
    #x_max, _ = max(coordinates, key=lambda c: (c[0], c[1]))
    #_, y_min = min(coordinates, key=lambda c: (c[1], c[0]))
    #_, y_max = max(coordinates, key=lambda c: (c[1], c[0]))
    x, y = zip(*coordinates)
    x_min, x_max = min(x), max(x)
    y_min, y_max = min(y), max(y)
    min_time = float('inf')
    result_x = 0 # любое число
    
    for trap_y in range(y_min, y_max + 1):
        cur_time = max_distance(result_x, trap_y, coordinates)
        if cur_time < min_time:
            min_time = cur_time
            result_y = trap_y
    
    for trap_x in range(x_min, x_max + 1):
        cur_time = max_distance(trap_x, result_y, coordinates)
        if cur_time < min_time:
            min_time = cur_time
            result_x, result_y = trap_x, result_y
    
    print(result_x, result_y)
    print(min_time)
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 12:12  [ТС]
Gdez, не прокатило
Ввод:
2
1 1
3 3
Вывод:
1 3
Должно быть 2 2
0
Эксперт Python
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
30.04.2023, 12:13
При больших М можно вместо циклов (15-я и 21-я строчки) можно двоичный поиск
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.04.2023, 12:13
DOPIXKMNLD, такие фокусы если и проходят, то находятся за пределами моего понимания)
В общем случае (непрерывный в произвольной метрике), такое решается итерационными приближениями (взяв например среднюю в начале), но возможно для манхэттенского расстояния есть и какой-то специальный хак.
0
Эксперт Python
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
30.04.2023, 12:15
DOPIXKMNLD,
Gdez, не прокатило
Ввод:
2
1 1
3 3
Вывод:
1 3
Должно быть 2 2
Если есть более одное решение — выведите любое из них.
В приведенном примере девять решений на сетке [(1,3), (1,3)]
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.04.2023, 12:25
Посмотрите на маленьких примерах, проходит ли решение: берем медиану по иксу и медиану по игреку. На глаз кажется что должно, но мало ли. А на бумаге проверить пока не могу.

Добавлено через 5 минут
Цитата Сообщение от Gdez Посмотреть сообщение
В приведенном примере три решения - (1,3), (2,2), (3,1)
Для 2 точек любая же точка прясоугольника должна быть? Не?

Добавлено через 3 минуты
Цитата Сообщение от Red white socks Посмотреть сообщение
Посмотрите на маленьких примерах, проходит ли решение: берем медиану по иксу и медиану по игреку. На глаз кажется что должно, но мало ли.
Для одномерного случая минимум дает медиана. Для двумерного - поскольку расстояние является суммой проекций, то сводится к одномерному. Вроде нет ошибок.
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 12:43  [ТС]
Red white socks, сделал, если правильно понял вас:
Python
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
def find_best_trap_location(coord_list):
    n = len(coord_list)
    coord_list.sort(key=lambda x: x[0])
    if n % 2 == 1:
        median_x = coord_list[n // 2][0]
    else:
        median_x = (coord_list[n // 2][0] + coord_list[n // 2 - 1][0]) // 2
 
    coord_list.sort(key=lambda y: y[1])
    if n % 2 == 1:
        median_y = coord_list[n // 2][1]
    else:
        median_y = (coord_list[n // 2][1] + coord_list[n // 2 - 1][1]) // 2
 
    return median_x, median_y
 
 
def read_input():
    m = int(input())
    coords = [tuple(map(int, input().split())) for _ in range(m)]
    return coords
 
 
def write_output(answer):
    print(str(answer[0]) + ' ' + str(answer[1]))
 
 
def main():
    coord_list = read_input()
    best_location = find_best_trap_location(coord_list)
    write_output(best_location)
 
 
if __name__ == "__main__":
    main()

Только вот теперь не проходит вот такой тест:
====== Тест #5 =======
--- Входные данные: размер 14 ---
3
1 4
1 9
1 5

--- Результат работы: размер 4 ---
1 5

--- Правильный ответ: размер 4 ---
1 6

--- Поток ошибок: размер 0 ---


Не по теме:

*трагичный хнык*

0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.04.2023, 12:57
DOPIXKMNLD, а теперь понял. Вам надо минимизировать не сумму, а максимум. Тогда еще проще - берете среднее от минимума и максимума по каждой координате.
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 13:04  [ТС]
Red white socks, делал такое уже:
Python
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
def read_inputs():
    M = int(input())
    locations = []
    for i in range(M):
        x, y = map(int, input().split())
        locations.append((x, y))
 
    return M, locations
 
 
def find_best_section(M, locations):
    min_x = max_x = locations[0][0]
    min_y = max_y = locations[0][1]
 
    for loc in locations:
        min_x = min(min_x, loc[0])
        max_x = max(max_x, loc[0])
        min_y = min(min_y, loc[1])
        max_y = max(max_y, loc[1])
 
    result_x = (min_x + max_x) // 2
    result_y = (min_y + max_y) // 2
 
    return result_x, result_y
 
 
def main():
    M, locations = read_inputs()
    x, y = find_best_section(M, locations)
    print(x, y)
 
 
if __name__ == "__main__":
    main()
Добавлено через 40 секунд
Цитата Сообщение от DOPIXKMNLD Посмотреть сообщение
Ввод:
3
0 0
4 4
-1 5
Вывод(моего кода):
1 2
Правильный выовд:
0 4
Тоже самое

Добавлено через 50 секунд
Gdez, бинпоиском тоже делал

Python
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
from sys import stdin
 
def distance(x1, y1, x2, y2):
    return max(abs(x1 - x2), abs(y1 - y2))
 
def count_time(mid_x, mid_y, locations):
    return max(distance(mid_x, mid_y, x, y) for x, y in locations)
 
def bin_search(locations):
    x_min, x_max = min(x for x, y in locations), max(x for x, y in locations)
    y_min, y_max = min(y for x, y in locations), max(y for x, y in locations)
 
    best_time = float("inf")
    best_loc = None
 
    while x_min <= x_max and y_min <= y_max:
        mid_x = (x_min + x_max) // 2
        mid_y = (y_min + y_max) // 2
 
        curr_time = count_time(mid_x, mid_y, locations)
 
        if curr_time < best_time:
            best_time = curr_time
            best_loc = mid_x, mid_y
 
        if mid_x < mid_y:
            x_min, y_max = mid_x + 1, mid_y - 1
        else:
            x_max, y_min = mid_x - 1, mid_y + 1
 
    return best_loc
 
def main():
    M = int(stdin.readline().strip())
    locations = [tuple(map(int, stdin.readline().strip().split())) for _ in range(M)]
 
    solution = bin_search(locations)
    print(solution[0], solution[1])
 
if __name__ == "__main__":
    main()

Тоже
Ввод:
3
0 0
4 4
-1 5
Вывод(моего кода):
1 2
Правильный выовд:
0 4
0
Эксперт Python
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
30.04.2023, 13:15
DOPIXKMNLD, бинпоиск для моего (не Вашего) кода
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 13:41  [ТС]
Gdez, сейчас попробую добавить

Добавлено через 20 минут
Gdez, добавил
Python
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
def max_distance(trap_x, trap_y, coordinates):
    distance = 0
    for x, y in coordinates:
        distance = max(distance, abs(trap_x - x) + abs(trap_y - y))
    return distance
 
 
def binary_search(min_value, max_value, target_distance, coordinates, is_x_search):
    while min_value < max_value:
        mid = (min_value + max_value) // 2
 
        if is_x_search:
            distance = max_distance(mid, target_distance, coordinates)
        else:
            distance = max_distance(target_distance, mid, coordinates)
 
        if is_x_search:
            next_distance = max_distance(mid + 1, target_distance, coordinates)
        else:
            next_distance = max_distance(target_distance, mid - 1, coordinates)
 
        if distance <= next_distance:
            max_value = mid
        else:
            min_value = mid + 1
 
    return min_value
 
 
def main():
    M = int(input())
    coordinates = [tuple(map(int, input().split())) for _ in range(M)]
 
    x, y = zip(*coordinates)
    x_min, x_max = min(x), max(x)
    y_min, y_max = min(y), max(y)
 
    result_x = binary_search(x_min, x_max, 0, coordinates, True)
    result_y = binary_search(y_min, y_max, result_x, coordinates, False)
 
    print(result_x, result_y)
 
 
if __name__ == "__main__":
    main()
, теперь при вводе

3
0 0
4 4
-1 5
выводит
1 0, надо 0 4
0
Эксперт Python
8849 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,316
30.04.2023, 14:45
DOPIXKMNLD, Нашел ошибку в Вашем коде - в модуле max_distance
Бинарный поиск не стал искать ошибку.
А в общем Red white socks прав - медиана по координатам => ответ:

Python
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
with open('input.txt') as f:
    c = int(f.readline())
    xy =[list(map(int, c.split())) for i, c in enumerate(f.readlines())]
    cx, cy = list(zip(*xy))
    print(sorted(cx)[c//2], sorted(cy)[c//2])
    
def max_distance(trap_x, trap_y, coordinates):
    distance = 0
    for x, y in coordinates:
        distance += abs(trap_x - x) + abs(trap_y - y)
    return distance
 
 
def main(M, coordinates):
    x, y = zip(*coordinates)
    x_min, x_max = min(x), max(x)
    y_min, y_max = min(y), max(y)
    min_time = float('inf')
    result_y = 1000# любое число
    
    for trap_x in range(x_min, x_max + 1):
        cur_time = max_distance(trap_x, result_y, coordinates)
        if cur_time < min_time:
            min_time = cur_time
            result_x = trap_x
        
    for trap_y in range(y_min, y_max + 1):
        cur_time = max_distance(result_x, trap_y, coordinates)
        if cur_time < min_time:
            min_time = cur_time
            result_y = trap_y
    
    print(result_x, result_y)
    print(min_time)
 
 
if __name__ == "__main__":
    main(c, xy)
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
30.04.2023, 15:02
Цитата Сообщение от Gdez Посмотреть сообщение
А в общем Red white socks прав - медиана по координатам => ответ:
Gdez, да нет. Здесь нужно найти центр.
Есть такая мысль - найти диаметральные точки (с наибольшим расстоянием) и центр должен находиться на середине какого-то пути между ними. Здесь не должен быть большой перебор.

Добавлено через 7 минут
Еще можно попробовать что-то типа метода ветвей и границ. Находить линейно эвристикой приближение к минимуму и область поиска ограничить пересечением кругов с данным радиусом.
0
Йуный плагиат-падаван)
176 / 119 / 45
Регистрация: 17.10.2022
Сообщений: 566
30.04.2023, 15:03  [ТС]
Gdez, не проходит опять этот тест:
Цитата Сообщение от DOPIXKMNLD Посмотреть сообщение
====== Тест #5 =======
--- Входные данные: размер 14 ---
3
1 4
1 9
1 5
--- Результат работы: размер 4 ---
1 5
--- Правильный ответ: размер 4 ---
1 6
--- Поток ошибок: размер 0 ---
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.04.2023, 15:03
Помогаю со студенческими работами здесь

Как ускорить код?
Здравствуйте! Скажите, пожалуйста, как можно ускорить данный код? Не проходит проверку def checkPrime(start, end): numbersList...

Как ускорить код
Добрый день! Написал такой код, который очень медленно работает при строке в 20000 чисел, разделенных пробелом. Я не представляю...

Как ускорить код? Оптимизировать?
Задача: Определите количество целочисленных точек, находящихся внутри и на границе круга радиуса r с центром в начале координат. ...

Нужно ускорить код
Условие Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается....

Код работает долго, нужно ускорить
Программа считает, сколько в среднем времени занимает процедура. На 1 000 итераций и массиве в 1 000 000 элементов работает слишком долго....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
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 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru