Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ПОМОГИТЕ С Python

Актан Солтобеков Ученик (99), открыт 3 недели назад
У нас есть три набора чисел - А, В и С. Можно ли взять из каждого набора по одному числу
а, b и с так, что для заданного числа к выполняется равенство а2 + b2 + 2 = k?
Формат входных данных
В первой строке записаны четыре натуральных числа n, т, t и k - размеры каждого из трех наборов и число k, соответственно (1 n,m, t 2000, 1 _ k 1019). Во второй строке записаны п чисел первого набора. В третей строке записаны т чисел второго набора. В
четвертой строке записаны t чисел третьего набора. Все числа в наборах натуральные и не превосходят 100.
Формат выходных данных
Выведите три числа: номера чисел из каждого набора согласно заданному во входных данных порядку, которые подходят под указанное равенство. Нумерация чисел в наборах
начинается с единицы. Если правильных ответов несколько, то выведите любой из них.
Гарантируется, что к описанным способом выразить можно.
Критерии оценивания
Каждый тест оценивается независимо. Тесты из условия не оцениваются. код должен быть маленьким
3 ответа
Макс Поминов Мастер (1051) 3 недели назад
ДА Я ТО ОТКУДА ЗНАЮ БЛ ТВОЙ ПИТОН
Актан СолтобековУченик (99) 3 недели назад
а чё написал то
Лев Головацкий Ученик (143) 3 недели назад
Вот пример решения задачи на Python. Мы будем перебирать все возможные сочетания чисел из трех наборов и проверять, выполняется ли условие \( a^2 + b^2 + 2 = k \). Если условие выполняется, мы выведем индексы найденных чисел.
 n, m, t, k = map(int, input().split()) 
A = list(map(int, input().split()))
B = list(map(int, input().split()))
C = list(map(int, input().split()))

for i in range(n):
for j in range(m):
if A[i]**2 + B[j]**2 + 2 == k:
print(i + 1, j + 1, 1) # индекс из C можно взять любой, например 1
exit()

Объяснение кода:
  • 1. Считываем входные данные: размеры наборов и число \( k \).
  • 2. Считываем сами наборы чисел.
  • 3. Перебираем все возможные пары \( (a, b) \) из наборов \( A \) и \( B \).
  • 4. Проверяем условие \( a^2 + b^2 + 2 = k \).
  • 5. Если условие выполняется, выводим индексы найденных чисел и завершаем программу.

Этот код эффективен для заданных ограничений и должен работать быстро, так как числа в наборах ограничены 100.
Актан СолтобековУченик (99) 3 недели назад
эээ забыл что ввод должен быть к примеру такой
3 4 4 3
2 1 3
1 2 2 1
2 3 1 2
а вывод
2 1 3
Лев Головацкий Ученик (143) Актан Солтобеков, Тогда вот тебе обновленный код )
 n, m, t, k = map(int, input().split()) 
A = list(map(int, input().split())) 
B = list(map(int, input().split())) 
C = list(map(int, input().split())) 
 
for i in range(n): 
    for j in range(m): 
        if A[i]**2 + B[j]**2 + 2 == k: 
            print(i + 1, j + 1, 1)  # индекс из C можно взять любой, например 1 
            exit() 

 
Похожие вопросы