Nowadays, although the data processing capabilities of the modern mobile devices are developed in a fast speed, the resources are still limited in terms of processing capacity and battery lifetime. Some applications, in particular the computationally intensive ones, such as multimedia and gaming, often require more computational resources than a mobile device can afford. One way to address such a problem is that the mobile device can o oad those tasks to the centralized cloud with data centers, the nearby cloudlet or ad hoc mobile cloud. In this paper, we propose a data o oading and task allocation scheme for a cloudlet-assisted ad hoc mobile cloud in which the master device (MD) who has computational tasks can access resources from nearby slave devices (SDs) or the cloudlet, instead of the centralized cloud, to share the workload, in order to reduce the energy consumption and computational cost. A two-stage Stackelberg game is then formulated where the SDs determine the amount of data execution units that they are willing to provide, while the MD who has the data and tasks to o oad sets the price strategies for di erent SDs accordingly. By using the backward induction method, the Stackelberg equilibrium is derived. Extensive simulations are conducted to demonstrate the e ectiveness of the proposed scheme.