Яша плавал в бассейне размером N × M метров и устал. В этот момент он обнаружил, что находится на расстоянии x метров от одного из длинных бортиков (не обязательно от ближайшего) и y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик? Программа получает на вход числа N, M, x, y. Программа должна вывести число метров, которое нужно проплыть Яше до бортика.
Вот, что я наваял. http://pastebin.com/jRTf7cRC не проходит проверки
96
45
41
22
98
77
31
80
46
90
28
77
60
98
39
27
Python
Задача «Яша плавает в бассейне»
если N > M:
min(x, N-x, y, M-y)
иначе:
min(x, M-x, y, N-y)
Собственно, это весь алгоритм (а то проверок в программе многовато)
min(x, N-x, y, M-y)
иначе:
min(x, M-x, y, N-y)
Собственно, это весь алгоритм (а то проверок в программе многовато)
))) я на неделю завис на этой задаче )) не прочитал внимательно условие ""расстоянии x метров от одного из длинных бортиков"
n = int(input()) ;m = int(input())
x = int(input()) ;y = int(input())
if n m/2:
x=m-x
if y > n/2:
y=n-y
print(y if y<x else x)
тут часть сьедена смотри скрин

n = int(input()) ;m = int(input())
x = int(input()) ;y = int(input())
if n m/2:
x=m-x
if y > n/2:
y=n-y
print(y if y<x else x)
тут часть сьедена смотри скрин

Женя Гладченко
Надо чтоб работало быстрее... как это сделать?
Сергей Синицын
M,N,x,y = [int(input()) for i in range(4)]
If N > M:
print(min(N - y, M - x, x, y))
else:
print(min(M - y, N - x, x, y))
If N > M:
print(min(N - y, M - x, x, y))
else:
print(min(M - y, N - x, x, y))
n = int(input())
m = int(input())
x = int(input())
y = int(input())
k = 0
if m > n:
k = n
n = m
m = k
if x > (m / 2):
l = m - x
else:
l = x
if y > (n / 2):
s = n - y
else:
s = y
if l < s:
print(l)
else:
print(s)
m = int(input())
x = int(input())
y = int(input())
k = 0
if m > n:
k = n
n = m
m = k
if x > (m / 2):
l = m - x
else:
l = x
if y > (n / 2):
s = n - y
else:
s = y
if l < s:
print(l)
else:
print(s)
Это задача на проверку знаний условий if, elif, else. По условию, кроме этих функций ничего другого использоваться не должно. В таком случае, задача решается в лоб:
N = int(input())
M = int(input())
x = int(input())
y = int(input())
if x == y:
print('без разницы')
else:
if N > M:
if (M - x) > x and (N - y) > y:
if x > y:
print(y)
else:
print(x)
elif (M - x) > x and (N - y) < y:
if x > (N - y):
print(N - y)
else:
print(x)
elif (M - x) < x and (N - y) > y:
if (M - x) > y:
print(y)
else:
print(M - x)
elif (M - x) < x and (N - y) < y:
if (M - x) > (N - y):
print(N - y)
else:
print(M - x)
else:
if (N - x) > x and (M - y) > y:
if x > y:
print(y)
else:
print(x)
elif (N - x) > x and (M - y) < y:
if x > (M - y):
print(M - y)
else:
print(x)
elif (N - x) < x and (M - y) > y:
if (N - x) > y:
print(y)
else:
print(N - x)
elif (N - x) < x and (M - y) < y:
if (N - x) > (M - y):
print(M - y)
else:
print(N - x)
N = int(input())
M = int(input())
x = int(input())
y = int(input())
if x == y:
print('без разницы')
else:
if N > M:
if (M - x) > x and (N - y) > y:
if x > y:
print(y)
else:
print(x)
elif (M - x) > x and (N - y) < y:
if x > (N - y):
print(N - y)
else:
print(x)
elif (M - x) < x and (N - y) > y:
if (M - x) > y:
print(y)
else:
print(M - x)
elif (M - x) < x and (N - y) < y:
if (M - x) > (N - y):
print(N - y)
else:
print(M - x)
else:
if (N - x) > x and (M - y) > y:
if x > y:
print(y)
else:
print(x)
elif (N - x) > x and (M - y) < y:
if x > (M - y):
print(M - y)
else:
print(x)
elif (N - x) < x and (M - y) > y:
if (N - x) > y:
print(y)
else:
print(N - x)
elif (N - x) < x and (M - y) < y:
if (N - x) > (M - y):
print(M - y)
else:
print(N - x)
n = int(input())
m = int(input())
x = int(input())
y = int(input())
# n, m = min(n, m), max(n, m)
if n > m:
n, m = m, n
if x >= n / 2:
x = n - x
if y >= m / 2:
y = m - y
# print(min(x, y))
if x < y:
print(x)
else:
print(y)
m = int(input())
x = int(input())
y = int(input())
# n, m = min(n, m), max(n, m)
if n > m:
n, m = m, n
if x >= n / 2:
x = n - x
if y >= m / 2:
y = m - y
# print(min(x, y))
if x < y:
print(x)
else:
print(y)
зачем в коде m и n делят на два????
N = int(input())
M = int(input())
x = int(input())
y = int(input())
if N < M:
N1 = N - x
M1 = M - y
a = min([x, y, N, M, M1, N1])
print (a)
if M < N:
M1 = M - x
N1 = N - y
a = min([x, y, N, M, M1, N1])
print (a)
#python
M = int(input())
x = int(input())
y = int(input())
if N < M:
N1 = N - x
M1 = M - y
a = min([x, y, N, M, M1, N1])
print (a)
if M < N:
M1 = M - x
N1 = N - y
a = min([x, y, N, M, M1, N1])
print (a)
#python
N = int(input())
M = int(input())
x = int(input())
y = int(input())
long_way = 0
short_way = 0
if N > M:
long_way = N
short_way = M
else:
long_way = M
short_way = N
if (short_way / 2) <= x:
x = short_way - x
if (long_way / 2) <= y:
y = long_way - y
if abs(x) > abs(y):
print(abs(y))
else:
print(abs(x))
M = int(input())
x = int(input())
y = int(input())
long_way = 0
short_way = 0
if N > M:
long_way = N
short_way = M
else:
long_way = M
short_way = N
if (short_way / 2) <= x:
x = short_way - x
if (long_way / 2) <= y:
y = long_way - y
if abs(x) > abs(y):
print(abs(y))
else:
print(abs(x))
n = int(input())
m = int(input())
x = int(input())
y = int(input())
'Добавляем l - длинная сторона бассейна, далее определяем какая из сторон является длинной
l = int()
if n>=m:
l=n
if m>n:
l=m
m=n
'Находим короткий отрезок для x и y'
if x>m-x:
x=m-x
if y>l-y:
y=l-y
if x<=y:
print(x)
else:
print (y)
m = int(input())
x = int(input())
y = int(input())
'Добавляем l - длинная сторона бассейна, далее определяем какая из сторон является длинной
l = int()
if n>=m:
l=n
if m>n:
l=m
m=n
'Находим короткий отрезок для x и y'
if x>m-x:
x=m-x
if y>l-y:
y=l-y
if x<=y:
print(x)
else:
print (y)
n = int(input())
m = int(input())
x = int(input())
y = int(input())
if x>y:
print (y)
else:
print (x)
не понимаю почему тут все такие большие коды пишут
m = int(input())
x = int(input())
y = int(input())
if x>y:
print (y)
else:
print (x)
не понимаю почему тут все такие большие коды пишут
Денис Зарубин
Ты худший, код не робит
Ясмина Кабдолла
Ваш код не правильный потому, что нужно найти расстояние до бортика который будет бдиже всего а у вас тупое сравнение что больше x или y а то что расстояние не будет равное не "x" не "y" у вас мысли не возникало?
Похожие вопросы
- 4 задачи по темам:Массивы,Строки,Циклы,условный оператор
- Решение задачи по программированию (желательно питон) Сложность O(квадрат(n))
- Как понять логику решения следующей задачи "ДЛЯ НАЧИНАЮЩИХ"?
- Не могу решать задачи на целочисленную арифметику в питоне.
- нужно написать задачи на питоне
- Как научиться понимать и решать поставленные задачи в программирование?
- Математика и решения задачи
- Как понять логику решения следующей задачи (ещё и "для начинающих" называется)?
- Проект Эйлера / Правильно ли решил задачу? Python
- Не могу сделать задачу (напишите код пожалуйста) довольно трудная
23 /
52 /-20
8
43