- محدودیت زمان: ۱ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
فرض کنید $G$ یک گراف ساده $n$ راسی $m$ یالی است که راسهای آن از $1$ تا $n$ شماره گذاری شده است.
به یک گراف «اویلری» میگوییم اگر «گذری» داشته باشد که هر یال $G$، دقیقا یکبار در آن آمده باشد.
منظور از یک گذر، دنبالهای از یالها مثل $e_1, e_2, \dots, e_k ,$ است که به ازای هر $2 \leq i \leq k$ داشته باشیم $e_{i - 1} \cap e_i \neq \emptyset,$.
یک گراف به شما داده میشود، و از شما میخواهیم بررسی کنید آیا این گراف اویلری است یا نه.
ورودی
در سطر اول ورودی دو عدد صحیح $n$ و $m$ که با یک فاصله از هم جدا شدهاند آمده است که به ترتیب نشاندهندهی تعداد راسها و یالهای گراف $G$ است.
$$1 \leq n \leq 100 , 000$$ $$0 \leq m \leq \min{\frac{n(n - 1)}{2},100 , 000}$$
در $m$ سطر بعدی دو عدد $u_i$ و $v_i$ که با یک فاصله از هم جدا شدهاند آمده است که نشاندهندهی وجود یال $u_i v_i$ در گراف $G$ است.
$$1 \leq u_i \neq v_i \leq n$$
تضمین میشود گراف داده شده ساده است. یعنی بین هر دو راس حداکثر یک یال آمده است.
خروجی
در تنها سطر خروجی در صورت اویلری بودن گراف $G$ رشته YES
و در غیر این صورت رشته NO
چاپ کنید.
مثال
ورودی نمونه ۱
3 3
1 2
1 3
2 3
خروجی نمونه ۱
YES
بله، چون دنباله زیر وجود دارد: $${1, 2}, {2, 3}, {1, 3}$$
ورودی نمونه ۲
4 2
1 2
3 4
خروجی نمونه ۲
NO
خیر، چون هر این گراف تنها دو یال دارد که هیچ اشتراکی ندارند. پس نمیتوان دنبالهای ساخت که هر دو یال در آن حضور داشته باشند و هر دو یال متوالی اشتراکی ناتهی داشته باشند.
ورودی نمونه ۳
5 5
1 2
2 3
3 4
4 5
5 3
خروجی نمونه ۳
YES
بله، چون دنباله زیر وجود دارد: $${1, 2} {2, 3}, {3, 4}, {4, 5}, {3, 5}$$
ارسال پاسخ برای این سؤال