99fb7f0e82
- Created a new sitemap.xml file for better SEO. - Added a compressed version of the sitemap as sitemap.xml.gz. - Introduced extra.css for custom styles, including Persian font support (IRANSansX). - Defined font-face rules for regular and bold styles of IRANSansX. - Implemented various text styles and layout adjustments for better readability. - Enhanced Mermaid diagram styles to support Persian text rendering.
57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
# تمرین ۹: مرکز پشتیبانی و دستور `cat`
|
|
|
|
## صورت سؤال
|
|
یک تیم پشتیبانی برای هر پروژه یک فایل لاگ نگه میدارد و شما باید رفتار چند دستور ساده را شبیهسازی کنید.
|
|
|
|
دستورهای ممکن:
|
|
|
|
- `touch f` اگر فایل `f` وجود نداشته باشد آن را خالی میسازد؛ اگر وجود داشته باشد، محتوا تغییر نمیکند.
|
|
- `write f s` محتوای فایل `f` را دقیقاً برابر یک خط `s` قرار میدهد (بازنویسی کامل).
|
|
- `append f s` یک خط `s` را به انتهای فایل `f` اضافه میکند.
|
|
- `cat f` اگر فایل وجود نداشته باشد باید `ERROR` چاپ شود. اگر وجود داشته باشد ولی خالی باشد باید `EMPTY` چاپ شود. وگرنه باید کل محتوای فایل چاپ شود.
|
|
|
|
برای جدا کردن خروجیِ چند دستور `cat` از هم، بعد از خروجی هر `cat` (به جز آخری) یک خط شامل `###` چاپ کنید.
|
|
|
|
## ورودی
|
|
در خط اول عدد `q` تعداد دستورها آمده است.
|
|
در `q` خط بعدی، هر خط یکی از دستورهای بالا است.
|
|
|
|
نام فایلها (`f`) فقط شامل حروف انگلیسی، عدد، `_` و `.` است.
|
|
`s` یک متن یکخطی است که میتواند شامل فاصله باشد و تا انتهای خط ادامه دارد.
|
|
|
|
## خروجی
|
|
خروجی تمام دستورهای `cat` را طبق توضیحات چاپ کنید و بین خروجیها (به جز آخرین `cat`) یک خط `###` قرار دهید.
|
|
|
|
## محدودیتها
|
|
- `1 ≤ q ≤ 10^4`
|
|
- طول `s` حداکثر 100 کاراکتر است.
|
|
|
|
## نمونه
|
|
**ورودی نمونه**
|
|
```text
|
|
9
|
|
cat log.txt
|
|
touch log.txt
|
|
cat log.txt
|
|
append log.txt ticket1
|
|
append log.txt ticket2
|
|
cat log.txt
|
|
write log.txt reset
|
|
cat log.txt
|
|
cat missing.txt
|
|
```
|
|
|
|
**خروجی نمونه**
|
|
```text
|
|
ERROR
|
|
###
|
|
EMPTY
|
|
###
|
|
ticket1
|
|
ticket2
|
|
###
|
|
reset
|
|
###
|
|
ERROR
|
|
```
|