세 개의 숫자 n, b가 있다고 가정합니다. 우리가 n명의 줄에 있다고 생각해 보십시오. 그리고 우리는 라인에서 우리의 위치에 대해 알지 못합니다. 그러나 우리는 우리 앞에 최소 수의 사람들이 있고 우리 뒤에 기껏해야 b 수의 사람들이 있다는 것을 알고 있습니다. 가능한 위치의 수를 찾아야 합니다.
따라서 입력이 n =10 a =3 b =4와 같다면 출력은 5가 됩니다. 줄에 10명이 있고 최소 3명이 앞에 있고 최대 4명이 뒤에 있기 때문입니다. 따라서 우리는 [0, 1, 2, 3, 4]에 있습니다. 위치 0에 있을 때 9명이 앞에 있고 0명이 뒤에 있는 식입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
a + b
-
b + 1을 반환
-
-
a + b>=n이면
-
반환 n - a
-
예시
더 나은 이해를 위해 다음 구현을 살펴보겠습니다.
def solve(n, a, b): if a + b < n: return b + 1 if a + b >= n: return n - a n = 10 a = 3 b = 4 print(solve(n, a, b))
입력
10, 3, 4
출력
5