Чтобы не допустить попадания нескольких изображений в один div.drop, попробуйте следующее:
$(".drop").droppable({
accept: ".photo",
activeClass: 'droppable-active',
hoverClass: 'droppable-hover',
drop: function(ev, ui) {
//returning false will cancel the drop
if ($(this).children('img').length > 0) return false;
$(this).append(ui.draggable);
$('#output').append($(ui.draggable).attr('src')+"<br />");
$('#output').append($(this).attr("id")+"<br />");
}
});
Чтобы отслеживать их ходы, вам, вероятно, придется работать с глобальной переменной, которая устанавливается внутри этой функции перетаскивания выше.