At least 30 people have died in the last three days in the worst floods to hit Bosnia and Serbia in a century.

The mayor of northern Bosnian town Doboj Obren Petrovic said: "More than 20 corpses have so far been brought to the city's morgue."  

Earlier, the death toll for both Serbia and Bosnia stood at 16, including six in Doboj.

A Reuters photographer in the town of Obrenovac, 30km southwest of the Serbian capital Belgrade and the worst hit by days of heavy rainfall, estimated the water level at 2-3 metres.

"The whole town is under water," he said.

Residents stood on roofs and terraces waiting to be rescued.

Soldiers in amphibious military vehicles tried to evacuate an estimated 700 people, mainly women and children, from a primary school located on higher ground.

Further to the west, thousands of volunteers joined soldiers, police and firefighters overnight in building sandbag flood defences around the town of Sabac, threatened by the rising waters of the River Sava.

"Now we have to sit and wait, to wait for that next wave and to hope," Serbian Prime Minister Aleksandar Vucic told a news conference.

Mr Vucic said the first bodies had been found in Obrenovac, worst hit by the heaviest rainfall in the region since records began almost 120 years ago.

He did not specify how many people had died.

In Serbia, around 95,000 homes were without electricity today, with the country's energy system near breaking point.

The country hiked imports to make up for a cut of 40% in capacity.

Flooding of the Kolubara, the Danube and the Sava rivers brought down cables and transformer stations, soaked  coal depots that feed power plant and caused a fire inside the Kolubara power plant complex which had been shut since Thursday.