Задача
У літньому таборі $n$ дітей. Серед будь-яких $L$ дітей є хоча б одна дівчинка. Серед будь-яких $v$ дітей є дитина на ім’я Валя (це ім’я можуть мати і хлопчик, і дівчинка). Напишіть програму, що визначає умову наявності в таборі хоча б одного Валентина.
Вхідні дані
$100≤n≤200$, $40≤L≤140$, $20≤v≤70$. Вхідні дані ввести зі стандартного пристрою введення в один рядок, розділяючи значення пропусками.
Вихідні дані
На стандартний пристрій виведення вивести $1$, якщо відповідь на питання умови стверджувальне. Інакше вивести $0$.
Тесты
Входные данные | Выходные данные |
110 80 27 | 1 |
100 70 30 | 1 |
70 50 30 | 0 |
85 35 20 | 1 |
90 50 50 |
0 |
Код програми
1 2 3 4 5 6 7 8 9 |
#include <iostream> using namespace std; int main() { int n, v, l; cin >> n >> v >> l; cout << (n > v + l - 1); return 0; } |
Решение
Так як серед $v$ дітей точно знайдеться Валя, то нам необхідно, щоб $n — v + 1$ було додатним. Іншими словами, дітей було більше, ніж достатня для Валь їх кількість. Але так як Валею може бути ще й дівчинка, необхідно, щоб ця різниця була більшою, ніж $l$. Таким чином, завжди знайдеться Валя з інших $v$ дітей, хоча б один з яких не увійшов в $l$. Звідси і формула: $n>v+ l-1$ або $n> = l + v$.
Дякую, виправила.
Условие задачи сформулировано автором очень странно.
Ума не приложу, как Вам удалось её решить.
В условии сказано, что среди любых $L$ детей найдется хоть одна девочка. Это означает, что количество мальчиков меньше $L.$ Например, ВСЕ дети девочки.
Далее говорится, что среди любых $v$ детей найдётся Валя. Т.е. количество не Валь меньше $v.$ Например, все дети Вали. Таким образом, по условию задачи, все дети могут оказаться девочками Валями.
Вот и выходит, что любые входные данные не гарантируют существование мальчика Вали.
Я с вами полностью согласна. То, что задача прошла, было действительно очень странно, так как решение, как и задание, непонятное, но то, что мне получилось найти решение, это просто случайность. Спасибо, что засчитали.