Condition for perfect matching in bipartite graphs Let $G = (S, T, E)$ be a bipartite graph without isolated vertices.

For each edge $e ∈ E$, $e = st$ (where $s ∈ S$, $t ∈ T$), the inequality
$d_G (s) ≥ d_G (t)$ holds. Prove that there is a matching in $G$ saturating all
of $S$'s vertices.
Here is a proof for the following related result:


  A $d$-regular bipartite graph contains a perfect matching.


According to Hall's criterion, a perfect matching exists if for all $A \subseteq S$, $|N(A)| \geq |A|$. Take any $A \subseteq S$. There are $d|A|$ edges connecting vertices in $A$ to $T$. A given vertex $t \in T$ can be the target of at most $d$ such edges. Hence there are at least $d|A|/d = |A|$ such targets, that is, $|N(A)| \geq |A|$.

Try modifying this proof for your case.