why is the answer NOT D?
Bumb
Think of the bloodtypes as antigens on the surface of the red blood cell. Blood group A has the A type antigen, B has the B type antigen, AB has both and O has no antigens.
The blood will only be accepted if it doesn't have non-self antigens.
If group A received blood from group B there would be a non-self antigen introduced to the body and thus the body would reject it.
If group B received blood from group O, no non-self antigens are introduced to the body and the blood will be accepted. This applies for when group O donates blood to anyone - no blood type can reject it, hence why group O is sometimes referred to as the universal blood donor.
If group O receives blood from group A then again, non-self antigens are introduced and the blood will be rejected.
If group A receives blood from group AB then A antigens are introduced which is okay, but so are B antigens which is not okay, they will be rejected.
Edit: bangali_lok got to it first 