I'm struggling to solve this problem.
Jack has to assign jobs to job students. There are 25 job students and 25 jobs that must be assigned. Every student is suited for a minimum of 4 jobs, but every job can be executed by a maximum of 4 job students. Can Jack give every job student a job for which he is suited?
I translated this problem to graphs:
Consider a bipartite graph $G = (V_1 \cup V_2, E)$ where $V_1$ are the job students and $V_2$ the jobs. I drawed this graph so there are 25 vertices left and 25 right. It's clear that in every vertex of $V_1$ (left), 4 edges can leave. It's also clear that in every vertex of $V_2$ (right), 4 edges can arrive.
How do I get started? Do I have to find a maximum assignment?
Thanks in advance.
EDIT: I figured out I should apply Hall's theorem to find an assignment from $V_1$ to $V_2$.
As stated in the comment use Hall's Theorem stating in your case:
To see this just count the edges:
The edges $E$ leaving $W$ equals the edges arriving in $N(W)$. As you stated $|E| \geq 4 |W|$ since every student has at least 4 suitable jobs (hence produces at least 4 edges) and $|E|\leq 4 N(W)$ since every job is suitable for at most 4 students. As you can now easily see the wanted inequality holds for every subset of students and applying Hall's Theorem we are done.
You can now even see, that every student is suitable for exactly 4 jobs and every job is suitable for exactly 4 students, but that is just some sweet byproduct ;-)