+ محدودیت زمان: ۲.۵ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
*****
در حین تغییر دکوراسیون، همیشه حالتهای جدیدی پیش میآید!
"رادزینکا دوبرامیل ویچشسلافوویچ"
برای مثال، وقتی کوئرا بالاخره بعد از مدتها تصمیم گرفت که دکوراسیون شرکت را تغییر دهد، در تیم کوئرا روحیهی تخریبکاری بسیار تشدید شد؛ زیرا کارگران آمدند و شروع به تخریب دیوارهای شرکت کردند. دیوارهایی که نوشتههای مهمی رویشان بود...
سپس تیم کوئرا به کافه گراف رفتند تا به دور از این دیوارهای تخریب شده، با آرامش به جلای روحیهی تخریبکاریشان فکر کنند. در کافه گراف تنها روشی که به ذهن تیم رسید، تخریب یک گراف بود! آنها $n^2$ راس درست کردند و آنها را در $n$ ردیف $n$ تایی قرار دادند. (به راس در ردیف $y$ام از پایین و ستون $x$ام از چپ، راس $(x, y)$ میگوییم.) سپس بین هر راس و رئوس بالایی، پایینی، چپی و راستیاش (در صورت وجود) یال کشیدند. (در مجموع $2n(n-1)$ یال کشیده شد.) بعد از آن شروع به تخریب یالهای گراف کردند؛ دانه دانه یالها را انتخاب و نابود میکردند. پس از چند دور تخریب، تیم به فکر آنالیز عملکردش افتاد. (بالاخره کار استارت-آپ است دیگر...) آنها یک تخریب را بد در نظر میگیرند اگر پس از حذف آن یال، تعداد مولفههای همبندی گراف تغییری نکند. یک دلال کلاهبردار، شما را بعنوان یک آنالیزور تخریب گراف به کوئرا معرفی کرده و شما باید با گرفتن ترتیب تخریبها، پس از هر تخریب بگویید که آیا این تخریب بد بوده است یا خیر.
# ورودی
در سطر اول ورودی دو عدد طبیعی $n$ و $k$ آمده است که $n$ تعداد سطرها و ستونهای متشکل از رئوس گراف را مشخص میکند و $k$ نمایانگر تعداد تخریبهای انجام شده میباشد.
سپس ورودی به شکل رمز شده میآید؛ این کار برای این است که شما مجبور شوید نتیجهی تخریبها را به ترتیب ورودی بدست آورید. به این صورت که در هر یک از $k$ خط بعدی ورودی، یک یال با دو عدد $x$ و $y$ و کاراکتر $dir$ آمدهاند. جهت یال یا برابر `E` است که یعنی یال توصیف شده از راس $(x, y)$ به راس$(x+1, y)$ است. در غیر این صورت جهت یال برابر `N` است که یعنی یال توصیف شده از $(x, y)$ به راس $(x, y + 1)$ است. ** جهت یال با توجه به کاراکتر ورودی $dir$ و نتیجهی تخریب قبلی تعیین میشود؛ ** اگر تخریب یال قبلی یک تخریب بد نبود، جهت یال تخریبی جدید با مقدار $dir$ متفاوت است و در غیر این صورت جهت یال تخریبی برابر مقدار $dir$ است. **جهت اولین یال با مقدار $dir$ برابر است.** (جهت وضوح بیشتر به مثال توجه کنید.)
تضمین میشود که یال پس از رمزگشایی یک یال درست است و شماره ردیف و ستون هر دو راس انتهاییش بین ۱ تا $n$ خواهد بود؛ اما ممکن است پیش از رمزگشایی این درست نباشد.
تضمین میشود که هیچ یالی دو بار تخریب نمیشود.
$$ 1 \le x, y \le n \le 2\ 000 $$
$$ 1 \le k \le 2\ 000\ 000 $$
# خروجی
در $k$ خط، نتیجهی بد بودن هریک از تخریبها را بنویسید؛ اگر یک تخریب بد بود `Yes` و اگر بد نبود `No` را چاپ کنید.
.
# مثال
## ورودی نمونه
```
3 3
1 1 E
1 1 N
2 1 N
```
## خروجی نمونه
```
Yes
No
Yes
```
یالهای تخریب شده به ترتیب برابر $(1, 1)$ با جهت `E`، $(1, 1)$ با جهت `N` و $(2, 1)$ با جهت `E` هستند که تخریبشان مطابق این شکلها بوجود میآید:
![توضیح تصویر](https://blog.quera.ir/wp-content/uploads/2017/02/photo_2017-02-17_11-08-19.jpg)
![توضیح تصویر](https://blog.quera.ir/wp-content/uploads/2017/02/photo_2017-02-17_11-08-18.jpg)
![توضیح تصویر](https://blog.quera.ir/wp-content/uploads/2017/02/photo_2017-02-17_11-08-17.jpg)
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.