Обозначим количество пирожков с вишней как \( x \), а количество пирожков с капустой как \( y \). Тогда можно записать:
\[ x + y = 37 \]
Согласно условию задачи, среди любых 20 пирожков есть хотя бы один с вишней. Это означает, что если бы мы взяли 20 пирожков и все они были бы с капустой, то у нас было бы больше, чем 19 пирожков с капустой. Таким образом, не может быть 20 пирожков с капустой. Это говорит о том, что количество пирожков с капустой не может превышать 19:
\[ y \leq 19 \]
Согласно другому условию, среди любых 19 пирожков есть хотя бы один с капустой. Это означает, что если бы мы взяли 19 пирожков, и все они были бы с вишней, то у нас было бы меньше, чем 19 пирожков с вишней. Таким образом, не может быть 19 пирожков с вишней. Это говорит о том, что количество пирожков с вишней не может превышать 18:
\[ x \leq 18 \]
Теперь выражаем \( y \) через \( x \):
\[ y = 37 - x \]
Подставим ограничение на \( x \):
- Если \( x \leq 18 \), то
\[ y = 37 - x \geq 37 - 18 = 19 \]
Но это противоречит условию \( y \leq 19 \).
Следовательно, \( x \) должно быть равно 18:
\[ x = 18 \]
Теперь найдем \( y \):
\[ y = 37 - 18 = 19 \]
Теперь проверим условия:
- Среди любых 20 пирожков всегда будет хотя бы один с вишней, так как у нас 18 пирожков с вишней, и это условие выполняется.
- Среди любых 19 пирожков всегда будет хотя бы один с капустой, так как у нас 19 пирожков с капустой.
Таким образом, количество пирожков с капустой составляет:
\[ \boxed{19} \]