+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
زبان برنامهنویسی _Bython_ که به تازگی عرضه شده است، فقط دستورات زیر را دارد:
| نام دستور | فرم کلی دستور | توضیح دستور |
|:---------:|:-------------:|:-----------:|
| _Assignment_ | A = _expression_ | مقدار _expression_ را در متغیر A ذخیره میکند. |
| _Input_ | _()voroodi_ | یک عدد از ورودی میخواند و آن را بر میگرداند. |
| _Print_ | _khoorooji(List)_ | مقادیر موجود در _List_ را به ترتیب چاپ میکند. |
| _If Statement_ | _agar condition_ : A = _expression_ | در صورتی برقراری _condition_ ، مقدار _expression_ در متغیر A ذخیره میشود. |
که در جدول بالا مقادیر _condition_ ، _List_ ، _expression_ و متغیر به این صورت تعریف میشوند:
* تعریف __expression__:
* هر عدد ثابتی یک _expression_ است. برای مثال اعداد ۲ و ۵، خود یک _expression_ هستند.
* مقدار _()voroodi_ به تنهایی یک _expression_ است.
* هر عبارتی به شکل $A + B$ و یا $A - B$ که در آن، $A$ و $B$ میتوانند متغیر و یا عدد ثابت باشند، یک _expression_ است. برای مثال عبارتهای $A + D$ و همچنین $VAR + 5$ که در آن $A$، $D$ و $VAR$ متغیر هستند، یک _expression_ اند.
* **باقی عبارات _expression_ نیستند.** برای مثال مقادیر $A + B + C$ و یا $A \times B$ یک _expression_ نیستند.
* تعریف __List__:
* عبارت $A$ که در آن $A$ متغیر و یا عدد ثابت است، یک لیست است.
* اگر $A$ و $B$ دو _List_ باشند، عبارت $A, B$ نیز یک _List_ است.
* برای مثال اگر $A$ و $B$ و $D$ متغیر باشند، عبارات $3$ و $A$ و $A, 7$ و همچنین $1, D, B$ یک _List_ هستند.
* تعریف __condition__:
* عبارت $A == B$ که در آن $A$ و $B$ متغیر و یا عدد ثابت هستند یک _condition_ است.
* در صورتی که مقادیر $A$ و $B$ برابر باشند، _condition_ برقرار است و در غیر این صورت _condition_ برقرار نیست.
* برای مثال $3 == 3$ یک _condition_ است که برقرار است و عبارت $A == 5$ که در آن مقدار $A$ هنگام اجرا ۶ است، یک _condition_ است که برقرار نیست.
* تعریف __متغیر__:
* هر رشتهای از ترکیب اعداد ۰ تا ۹ و همچنین حروف کوچک و بزرگ الفبای انگلیسی به طول حداکثر ۱۰ که با عدد شروع **نشود**، یک متغیر است.
* برای مثال عبارات $A$، $VAR2$ و $ABC123de$ یک متغیراند در صورتی که عبارات $VAR\_3$، $3VAR$ و $VARIABLE123$ متغیر نیستند.
حال به شما دنبالهای از دستورات زبان _Bython_ و همچنین دنبالهای از مقادیر ورودی داده شده است و از شما خواسته شده است تا خروجی را گزارش کنید. و پس از آن، تعداد متغیرهایی که **حداقل یک بار** مقداردهی شدهاند را نیز چاپ کنید.
# ورودی
ورودی شامل دو بخش است که در بخش اول دستورات برنامه در چند خط آمده است و پس از آن در یک خط رشتهی `-----` آمده است سپس ورودیهای برنامه، هر کدام در یک خط آمده است.
**تعداد خطهای دستورات از ۵۰ بیشتر نخواهد بود.**
**تضمین میشوند تعداد ورودیهای برنامه برابر با تعداد دستورهای _Input_ است و همچنین هر متغیر قبل از استفاده مقداردهی میشود.**
**تمام اعداد داده شده در دستورات، اعداد طبیعی و مثبت خواهند بود، اما ممکن است در هنگام اجرای دستورات، مقدار متغیری منفی شود.**
# خروجی
در خروجی، به ازای هر دستور _Print_ خروجی آن را در یک خط چاپ کنید. سپس در یک خط، تعداد متغیرهایی که حداقل یکبار مقداردهی شدهاند را خروجی دهید.
**تضمین میشود حداقل یک دستور _Print_ در دستورات برنامه وجود دارد.**
# زیرمسئلهها
| زیرمسئله | نمره | محدودیتها |
|:--------:|:----:|:---------:|
| ۱ | ۲۵ | فقط دستور Assignment و Print موجود است و در دستور Print تنها یک ورودی داریم. |
| ۲ | ۷۵ | دستور If Statement نداریم. |
| ۳ | ۱۵۰ | بدون محدودیت |
توجه کنید نمره سوال از ۲۵۰ نمره است.
## ورودی نمونه ۱
```
A = 3
B = voroodi()
C = A + B
khoorooji(10)
khoorooji(C, 2)
-----
3
```
## خروجی نمونه ۱
```
10
6 2
3
```
مقدار متغیر $C$ پس از اجرای دستورات برابر ۶ خواهد بود و تعداد متغیرهایی که حداقل یکبار مقداردهی شدهاند برابر با ۳ است. (متغیرهای $A$ و $B$ و $C$)
## ورودی نمونه ۲
```
A = voroodi()
agar A == 2 : A = A + 2
khoorooji(A)
-----
2
```
## خروجی نمونه ۲
```
4
1
```
مقدار متغیر $A$ پس از اجرای دستورات برابر ۴ خواهد بود و تعداد متغیرهایی که حداقل یکبار مقداردهی شدهاند برابر با ۱ است. (متغیر $A$)
## ورودی نمونه ۳
```
agar 2 == 2 : A = 3
agar 3 == 4 : B = 1
khoorooji(A)
-----
```
## خروجی نمونه ۳
```
3
1
```
مقدار متغیر $A$ پس از اجرای دستورات برابر ۳ خواهد بود و تعداد متغیرهایی که حداقل یکبار مقداردهی شدهاند برابر با ۱ است. (متغیر $A$)
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.