Heavy rains and flooding battered the eastern coast of South Africa on Wednesday, killing at least 306 people, damaging roads and destroying.