ВАРИАНТ 1 У концерна по производству пастеризованного молока есть N ферм. Все фермы расположены вдоль некоторого прямолинейного пути и имеют номера, соответствующие расстоянию от нулевой отметки до конкретной фермы. Известно количество литров молока, которое ежедневно получают на каждой ферме. Концерн планирует открыть молокоперерабатывающий завод при одной из ферм. Перевозить молоко разрешается на расстояние не более M. Молоко перевозят в бидонах вместимостью 15 литров каждый. Каждая ферма имеет свой набор бидонов для перевозки молока, при этом с каждой фермы на завод может быть доставлено не более одного неполного бидона. Место для возведения завода выбрано так, чтобы количество доставляемых туда бидонов с молоком было максимальным. Определите необходимое общее количество бидонов для доставки молока на этот завод. Входные данные Даны два входных файла (файл А и файл В), каждый из которых в первой строке содержит два числа N и (1 ≤N≤ 10000000, 1 ≤M≤ 10000000) — количество ферм и максимальное расстояние, на которое разрешено перевозить молоко с соответствующей фермы. В каждой из следующих N строк находятся два числа: номер фермы и количество литров молока (в литрах), производимых на этой ферме за сутки (все числа натуральные, количество литров молока на каждой ферме не превышает 1000). В ответе укажите два числа: сначала значение искомой величины для файла A, затем - для файла B. Типовой пример организации данных во входном файле 6 5 При таких исходных данных и вместимости бидона, составляющей 10 литров, концерну выгодно открыть молокоперерабатывающий завод в пункте 5. В этом случае количество бидонов, привозимых на завод за сутки: 12 + 21 + 5 Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ Решение перебором для файла А (1 балл) from math import ceil f=open('27v01_A.txt') st = f.readlines() # создаем массив из строк файла f.close() N, M = map (int, st[0].split())# записываем количество ферм в переменную N, максимальное расстояние в М a = {} # пустой словарь, для номеров ферм и количества бидонов k = 0 #обнуляем количество бидонов print(k) Решение для файлов А и В (2 балла). В основе кода решение Александра Павлова from math import ceil for i in range(N): r = 0 #правая граница for i in range(N): while A[i][0] - A[l][0] > M: #доставляем бидоны в пределах левой границы print (k_max) Ответ:
|
||
ВАРИАНТ 2 У концерна по производству пастеризованного молока есть N ферм. Все фермы расположены вдоль некоторого прямолинейного пути и имеют номера, соответствующие расстоянию от нулевой отметки до конкретной фермы. Известно количество литров молока, которое ежедневно получают на каждой ферме. Концерн планирует открыть молокоперерабатывающий завод при одной из ферм. Перевозить молоко разрешается на расстояние не более M. Молоко перевозят в бидонах вместимостью 20 литров каждый. Каждая ферма имеет свой набор бидонов для перевозки молока, при этом с каждой фермы на завод может быть доставлено не более одного неполного бидона. Место для возведения завода выбрано так, чтобы количество доставляемых туда бидонов с молоком было максимальным. Определите необходимое общее количество бидонов для доставки молока на этот завод. Входные данные Даны два входных файла (файл А и файл В), каждый из которых в первой строке содержит два числа N и (1 ≤N≤ 10000000, 1 ≤ M≤ 10000000) — количество ферм и максимальное расстояние, на которое разрешено перевозить молоко с соответствующей фермы. В каждой из следующих N строк находятся два числа: номер фермы и количество литров молока (в литрах), производимых на этой ферме за сутки (все числа натуральные, количество литров молока на каждой ферме не превышает 1000). В ответе укажите два числа: сначала значение искомой величины для файла A, затем - для файла B. Типовой пример организации данных во входном файле 6 5 При таких исходных данных и вместимости бидона, составляющей 10 литров, концерну выгодно открыть молокоперерабатывающий завод в пункте 5. В этом случае количество бидонов, привозимых на завод за сутки: 12 + 21 + 5 Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ Решение перебором для файла А
from math import ceil N, M = map (int, st[0].split())# записываем количество ферм в переменную N, максимальное расстояние в М a = {} # пустой словарь, для номеров ферм и количества бидонов k = 0 #обнуляем количество бидонов print(k) Решение для файлов А и В (2 балла). В основе кода решение Александра Павлова from math import ceil for i in range(N): r = 0 #правая граница for i in range(N): while A[i][0] - A[l][0] > M: #доставляем бидоны в пределах левой границы print (k_max) Ответ:
|
||
ВАРИАНТ 3 У концерна по производству пастеризованного молока есть N ферм. Все фермы расположены вдоль некоторого прямолинейного пути и имеют номера, соответствующие расстоянию от нулевой отметки до конкретной фермы. Известно количество литров молока, которое ежедневно получают на каждой ферме. Концерн планирует открыть молокоперерабатывающий завод при одной из ферм. Молоко перевозят в бидонах вместимостью 20 литров каждый. Входные данные Даны два входных файла (файл А и файл В), каждый из которых в первой строке содержит число N и (1 ≤N ≤ 10000000) — количество ферм. В каждой из следующих N строк находятся два числа: номер фермы и количество литров молока (в литрах), производимых на этой ферме за сутки (все числа натуральные, количество литров молока на каждой ферме не превышает 1000). Фермы перечислены в порядке их расположения вдоль пути, считая от нулевой отметки. В ответе укажите два числа: сначала значение искомой величины для файла A, затем - для файла B. Типовой пример организации данных во входном файле 6 5 При таких исходных данных и вместимости бидона, составляющей 10 литров, концерну выгодно открыть молокоперерабатывающий завод в пункте 5. В этом случае количество бидонов, привозимых на завод за сутки: 12 + 21 + 5 Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ Решение перебором для файла А (1 балл) from math import ceil f=open('27v03_A.txt') st = f.readlines() # создаем массив из строк файла f.close() N = int( st[0])# записываем количество ферм в переменную N del (st[0]) # удаляем первую строку a = {} # пустой словарь, для номеров ферм и количества бидонов s = float('inf') #верхняя граница минимума стоимости print(s) Решение перебором для файла А и В (2 балла) from math import ceil a = {} # пустой словарь, для номеров ферм и количества бидонов for i in range(N): # в следующем цикле мы не считаем полную стоимость доставки, а изменяем нулевую при перемещении завода вправо y = 0 # предыдущий пункт print (s_min) Ответ:
|
||
ВАРИАНТ 4 У концерна по производству пастеризованного молока есть N ферм. Все фермы расположены вдоль некоторого прямолинейного пути и имеют номера, соответствующие расстоянию от нулевой отметки до конкретной фермы. Известно количество литров молока, которое ежедневно получают на каждой ферме. Концерн планирует открыть молокоперерабатывающий завод при одной из ферм.Молоко на завод с ферм перевозят в бидонах вместимостью 15 литров каждый. Входные данные Даны два входных файла (файл А и файл В), каждый из которых в первой строке содержит число N и (1 ≤N ≤ 10000000) — количество ферм. В каждой из следующих N строк находятся два числа: номер фермы и количество литров молока (в литрах), производимых на этой ферме за сутки (все числа натуральные, количество литров молока на каждой ферме не превышает 1000). Фермы перечислены в порядке их расположения вдоль пути, считая от нулевой отметки. В ответе укажите два числа: сначала значение искомой величины для файла A, затем - для файла B. Типовой пример организации данных во входном файле 6 5 При таких исходных данных и вместимости бидона, составляющей 10 литров, концерну выгодно открыть молокоперерабатывающий завод в пункте 5. В этом случае количество бидонов, привозимых на завод за сутки: 12 + 21 + 5 Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ Решение перебором для файла А from math import ceil f=open('27v04_A.txt') st = f.readlines() # создаем массив из строк файла f.close() N = int( st[0])# записываем количество ферм в переменную N del (st[0]) # удаляем первую строку a = {} # пустой словарь, для номеров ферм и количества бидонов s = float('inf') #верхняя граница минимума стоимости print(s) Решение перебором для файла А и В (2 балла) from math import ceil a = {} # пустой словарь, для номеров ферм и количества бидонов for i in range(N): # в следующем цикле мы не считаем полную стоимость доставки, а изменяем нулевую при перемещении завода вправо y = 0 # предыдущий пункт print (s_min) Ответ:
|
||
ВАРИАНТ 5 Дана последовательность из N натуральных чисел. Рассматриваются все непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 123. Найдите среди них подпоследовательность с минимальной суммой, определите ее длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой длинной из них. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество чисел N (1<=N<=10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000. Пример организации во входном файле: 7 Для указанных входных данных при k=100 искомая длина последовательности равна 3. В ответе укажите два числа: значение длины искомой последовательности сначала для файла А, затем для файла В. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v1234_A.txt') p = [int(x) for x in f] #читаем файл в целочисленный массив N = p[0] #количество элементов в массиве k=123 del(p[0])# удаляем первый элемент массива f.close() s_min=10000000 # минимальной сумме присваиваем верхнее значение l=0 # длина подпоследовательности s=0 # переменная содержащая суммы непрерывных последовательностей a=[0]*k # массив, содержащий суммы с одинаковыми остатками b=[0]*k # массив, содержащий длины подпоследовательностей с одинаковыми остатками for i in range(N): print(l) Ответ:
|
||
ВАРИАНТ 6 Дана последовательность из N натуральных чисел. Рассматриваются все непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 321. Найдите среди них подпоследовательность с минимальной суммой, определите ее длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество чисел N (1<=N<=10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000. Пример организации во входном файле: 7 Для указанных входных данных при k=100 искомая длина последовательности равна 3. В ответе укажите два числа: значение длины искомой последовательности сначала для файла А, затем для файла В. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v1234_A.txt') p = [int(x) for x in f] #читаем файл в целочисленный массив N = p[0] #количество элементов в массиве k=321 del(p[0])# удаляем первый элемент массива f.close() s_min=10000000 # минимальной сумме присваиваем верхнее значение l=0 # длина подпоследовательности s=0 # переменная содержащая суммы непрерывных последовательностей a=[0]*k # массив, содержащий суммы с одинаковыми остатками b=[0]*k # массив, содержащий длины подпоследовательностей с одинаковыми остатками for i in range(N): print(l) Ответ:
|
||
ВАРИАНТ 7
Дана последовательность из N натуральных чисел. Рассматриваются все непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 145. Найдите среди них подпоследовательность с максимальной суммой, определите ее длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой длинной из них. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество чисел N (1<=N<=10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000. Пример организации во входном файле: 7 Для указанных входных данных при k=100 искомая длина последовательности равна 3. В ответе укажите два числа: значение длины искомой последовательности сначала для файла А, затем для файла В. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v1234_A.txt') p = [int(x) for x in f] #читаем файл в целочисленный массив N = p[0] #количество элементов в массиве k=145 del(p[0])# удаляем первый f.close() s_max=0 # максимальной сумме присваиваем нижнее значение for i in range(N): print(l) Ответ:
|
||
ВАРИАНТ 8
Дана последовательность из N натуральных чисел. Рассматриваются все непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 157. Найдите среди них подпоследовательность с максимальной суммой, определите ее длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество чисел N (1<=N<=10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000. Пример организации во входном файле: 7 Для указанных входных данных при k=100 искомая длина последовательности равна 3. В ответе укажите два числа: значение длины искомой последовательности сначала для файла А, затем для файла В. Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v1234_A.txt')
p = [int(x) for x in f] #читаем файл в целочисленный массив s_max=0 # максимальной сумме присваиваем нижнее значение for i in range(N): print(l) Ответ:
|
||
ВАРИАНТ 9 Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 31 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v05_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 for i in range(N): if s % k!=0: Ответ:
|
||
ВАРИАНТ 10 Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 33 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v06_A.txt','r')
st = f.readlines() # создаем массив из строк файла for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 11
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 35 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v07_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int (st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 35 for i in range(N): if s % k!=0: Ответ:
|
||
ВАРИАНТ 12
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 37 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v08_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int (st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s=0 # создаем переменную для суммы min_r = 10000 k = 37 for i in range(N): if s % k!=0: Ответ:
|
||
ВАРИАНТ 13
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 39 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v09_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 39 for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 14
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 41 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v10_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 41 for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 15
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 43 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v11_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 43 for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 16
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 45 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v12_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 45 for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 17
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 47 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v13_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 47 for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 18
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 49 и при этом была максимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f=open('27v14_A.txt','r') st = f.readlines() # создаем массив из строк файла f.close() N = int(st[0]) # записываем количество строк в переменную N del (st[0]) # удаляем первую строку s = 0 # создаем переменную для суммы min_r = 10000 k = 49 for i in range(N): if s % k != 0: Ответ:
|
||
ВАРИАНТ 19
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 51 и при этом была минимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f = open('27v15_A.txt','r') st = f.readlines() f.close() N = int(st[0]) for i in range(N): Ответ:
|
||
ВАРИАНТ 20
Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 53 и при этом была минимально возможной. Гарантируется, что такую сумму получить можно. Программа должна напечатать одно число - максимально возможную сумму, соответствующую условиям задачи. Входные данные: Даны два входных файла (файл А и файл В), каждый из которых содержит в первой строке количество пар N (1<=N<=10 000 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000. Пример организации во входном файле: 6 Предупреждение: для обработки файла В не следует использовать переборный алгоритм для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго. |
Решение и ответ f = open('27v16_B.txt','r') st = f.readlines() f.close() N = int(st[0]) for i in range(N): if s % k != 0: Ответ:
|
- Сборник ЕГЭ-2023
- Просмотров: 4810
Задание 27. Программирование
Комментарии
Добавить комментарий
0
#
Ольга
28.04.2024 22:14
добрый вечер, не могу найти файлики к этим задачам, можно попросить их скинуть или подскажите где их взять. Спасибо вам зп подборку и разбор данного материала, очень полезно)))
Ответить
| Ответить с цитатой |
Цитировать
|
Сообщить модератору
0
#
Ирина
28.04.2024 23:18
Добрый вечер, Ольга. Спасибо Вам за оценку моего труда! Файлы отправила на почтовый адрес
Ответить
| Ответить с цитатой |
Цитировать
|
Сообщить модератору