For both ingress and egress to the hosts? I also also assume the 1 Mbps is a limit on ingress or egress, not an aggregate for both combined.
On R1's you can implement CBWFQ policies, for ingress and/or egress to limit specific host aggregate bandwidth usage. You might have an ingress/egress policy on f0/0 or f0/1, an ingress policy on both or an egress policy on both.
Assuming you bandwidth limit using a policer, you can use the same policy for ingress or egress. If you use a shaper to limit bandwidth, it will need to be applied as an egress policy.
You would need one class per host. Each host class can use the same class-map which can also use the same ACL to match host IPs.
I'm guessing this might be a student assignment, so I'm holding back on providing a specific example.
BTW, when you restrict traffic, you generally like to accomplish that as early as possible. So, for example, you might want to regulate traffic on R2's f0/0 and R1's f0/1 (or even on SW1 and SW2).