در یک روز آفتابی، عدهی زیادی از مردم نارنجستان به تماشای یک باغ گل در سرزمینی مستطیلی شکل آمدهاند، که ناگهان، صدای هشدار آتشسوزی همه چیز را به آشوب میکشد. همه تلاش می کنند که با رساندن خود به در خروجی، جان خود را نجات دهند. متاسفانه باغ تنها یک در دارد. در حالی که همه تلاش میکنند جان خود را نجات دهند، مراقب هستند که پا روی گلی نگذارند (گلها در محفظههای شیشهای ضد آتش قرار دارند) و به دیگران صدمه نزنند. شما باید برنامهای بنویسید که برای این مردم متمدن بهترین طرح فرار از آتشسوزی را مشخص کند.
فرض کنید که باغ در یک جدول مستطیلشکل واقع شده است. در هر خانه، تعدادی گل یا مکانی برای ایستادن یک نفر قرار دارد. هر نفر در هر ثانیه میتواند خود را به یکی از چهار خانهی مجاور خود برساند. این حرکت در صورتی امکانپذیر است که خانهی مجاور، در ثانیهی بعد توسط فردی دیگر اشغال نشده باشد و گلی هم در آن خانه قرار نداشته باشد. توجه کنید که اگر در یک لحظه دو نفر میتوانند به یک خانه وارد شوند، طرح فرار شما باید فقط یک نفر را به آن خانه وارد کند و نفر دیگر یا صبر کند یا حرکت دیگری انجام دهد. برنامهی شما باید زمان کمینه برای تخلیهی باغ را محاسبه کند، یعنی مدت زمانی که طول می کشد تا همه به در خروجی برسند. میتوانید در نظر بگیرید همواره برای هر شخص مسیری از خانهی ابتدایی تا در خروجی، بدون پا گذاشتن روی گلها، وجود دارد.
به ازای هر سناریو در یک خط زمان کمینه برای تخلیهی باغ را چاپ کنید.