با استفاده از ساختار داده std::stack در C++ یک برنامه بنویسید که وضعیتهای قبلی بازیکن (مثلاً مختصات x و y یا شماره سطح) را ذخیره کند و با دریافت فرمان "undo" آخرین وضعیت را بازگرداند.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:45 0.0
از هدر در C++ استفاده کنید و برای نگهداری وضعیتها میتوانید از std::pair یا یک struct ساده بهره ببرید؛ هنگام هر حرکت جدید وضعیت را با push در پشته قرار دهید و هنگام فرمان "undo" اگر پشته خالی نیست یک pop انجام دهید و وضعیت رویی را بهعنوان حالت فعلی استفاده کنید. نکات: همیشه یک وضعیت اولیه در پشته قرار دهید تا از خالی بودن جلوگیری شود، از متدهای top(), pop(), push(), empty() و size() استفاده کنید و پیچیدگی هر عملیات را O(1) در نظر بگیرید؛ ورودی را با std::cin و پردازش فرمانها با رشتهها مدیریت کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نگران نباشید؛ برای جلوگیری از خالی شدن پشته، همواره یک وضعیت اولیه در پشته قرار دهید و در هر حرکت جدید، وضعیت فعلی را با push ذخیره کنید. وقتی فرمان "undo" میگیرید، بهجای اجرای دوباره محاسبه، فقط از top و pop استفاده کنید تا به سرعت به حالت قبلی برسید. برای نگهداری وضعیت میتوانید از struct ساده یا std::pair استفاده کنید، و هر دو برابر با O(1) هستند. همچنین مطمئن شوید ورودیها را با std::cin بخوانید و فرمانها را با رشتهها مقایسه کنید تا منطق undo درست کار کند.
گزارش