- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
همانطور که میدانید برنامهنویسی و کار کردن گروهی روی پروژهها نیازمند مقادیری نظم و هماهنگی است.
یکی از راههای مفید برای ایجاد نظم و هماهنگی در کارهای متنی و برنامهنویسی استفاده از ابزار git
است.
در این سوال ما یک نسخهی شخصیسازی شده از git
داریم و میخواهیم برای آن تعدادی دستور دیگر اضافه کنیم.
این نسخه از git
شخصیسازی شده تنها میتواند تغییرات را روی یک فایل خاص که در ابتدا خالی است، اعمال و ذخیرهسازی کند.
در ادامه دستوراتی که در این نسخه نیاز به پیادهسازی دارند شرح داده شده است:
-
دستور
git add string
: این دستور به این معناست که رشتهیstring
را به انتهای فایل فعلی اضافه کن. -
دستور
git clear
: این دستور به این معناست که فایل فعلی را خالی کن. -
دستور
git del
: این دستور به این معناست که خط انتهایی فایل فعلی را در صورت وجود حذف کن. -
دستور
git commit & push
: این دستور تغییراتی که در فایل ایجاد شده را، روی سرور و فایل اصلی اعمال میکند. -
دستور
git checkout
: با اجرای این دستور باید محتوای فایل فعلی و اصلی را برابر محتوای فایل بعد از اجرای یکی مانده به آخرین دستور از نوعgit commit & push
قرار دهید. -
دستور
git pull
: با اجرای این دستور باید آخرین محتوایی که روی سرور و فایل اصلی است را چاپ کنید.وظیفهی اضافه کردن این دستورات با شماست.
برای آشنایی بیشتر با قابلیتهای git
میتوانید به این لینک مراجعه کنید.
ورودی
در خ اول ورودی عدد $q$ آمدهاست، که تعداد دستورات را نشان میدهد.
در $q$ خط بعدی در هر خط یکی از دستورات بالا آمده است.
تضمین میشود که قبل از هر دستور git checkout
حداقل ۲ دستور از نوع git commit & push
آمده باشد.
طول هر رشته ورودی حداکثر ۳۰ میباشد.
$$1 \le q \le 20$$
خروجی
در خروجی به ازای هر یک از دستورهای از نوع git pull
ابتدا تعداد خطوط محتوای داخل فایل را چاپ کنید و در ادامهی خروجی به ترتیب در هر خط یکی از خطوط محتوای فایل را چاپ کنید.
مثال
ورودی نمونه ۱
8
git add #include <iostream>
git add using namespace std;
git add int main(){
git add cout<<"Rahnema\n";
git add }
git pull
git commit & push
git pull
خروجی نمونه ۱
0
5
#include <iostream>
using namespace std;
int main(){
cout<<"Rahnema\n";
}
ورودی نمونه ۲
6
git add test1
git commit & push
git add test2
git commit & push
git checkout
git pull
خروجی نمونه ۲
1
test1
ارسال پاسخ برای این سؤال