- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
همانطور که میدانید برنامهنویسی و کار کردن گروهی روی پروژهها نیازمند مقادیری نظم و هماهنگی است.
یکی از راههای مفید برای ایجاد نظم و هماهنگی در کارهای متنی و برنامهنویسی استفاده از ابزار 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
ارسال پاسخ برای این سؤال