المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۸:عملی:سوال ۱۱

جشن تولد

جان‌علی می‌خواهد همه‌ی دوستانش در جشن تولدش حاضر باشند، اما می‌داند که چنین کاری ممکن نیست. به عنوان مثال بیژن و منیژه متارکه کرده‌اند و تقریبا غیر ممکن است که هر دو با هم به جشن بیایند. پس از تلاش فراوان جان‌علی بیش از آن‌که از دوستانش قول شرکت گرفته باشد، با در خواست‌هایی مواجه شده است: « اگر مرا دعوت کنی باید شوهر قانونی مرا هم دعوت کنی.» یا « اگر دوقلوهای آب منگل را دعوت کنی توقع نداشته باش که من و داداشم قیصر بیاییم.»

مسئله

توصیفی از درخواست‌هایی که جان‌علی با آن‌ها مواجه است داده شده است. باید گروهی از دوستان او را پیدا کنید به طوری که اگر جان‌علی آن‌ها را دعوت کند (و هیچ‌کس دیگری را دعوت نکند) همه‌ی درخواست‌ها ارضا شده باشد. درخواست‌ها به صورت زیر توصیف شده‌اند:

  • $name$ یک درخواست است که ارضا می‌شود اگر و تنها اگر جان‌علی $name$ را دعوت کند.
  • $-name$ یک درخواست است که ارضا می‌شود اگر و تنها اگر جان‌علی $name$ را دعوت نکند.

(در هر دو حالت فوق $name$ رشته‌ای از حداکثر ۲۰ حرف کوچک ( $lowercase$ ) بدون فاصله‌ی خالی است.)

  • اگر $R_1,...,R_k$ درخواست‌هایی باشند، آن‌گاه ( $R_1 \& ... \& R_k$ ) یک درخواست است که ارضا می‌شود اگر و تنها اگر همه‌ی درخواست‌های $R_1,...,R_k$ ارضا شوند.
  • اگر $R_1,...,R_k$ درخواست‌هایی باشند، آن‌گاه ( $R_1 | ... | R_k$ ) یک درخواست است که ارضا می‌شود اگر و تنها اگر دست‌کم یکی از درخواست‌های $R_1,...,R_k$ ارضا شود.
  • اگر $R_1$ و $R_2$ دو درخواست باشند، آن‌گاه ( $R_1 \Rightarrow R_2$ ) یک درخواست است که ارضا ــنمی‌شودــ اگر و تنها اگر $R_1$ ارضا شود و $R_2$ ارضا نشود.

ورودی

می‌توانید ۱۰ فایل ورودی را روی صفحه «وب» پیدا کنید. هر ورودی ۱۰ نمره دارد. سطر اول ورودی حاوی عدد $F$، تعداد دوستان جان‌علی است. در هر یک از $F$ سطر بعدی نام یکی از دوستان جان‌علی آمده است. در سطر بعد عدد $N$، تعداد درخواست‌ها آمده است. هر یک از $N$ سطر بعدی حاوی یک درخواست است.

خروجی

برای هر فایل ورودی باید فایل خروجی متناظر را تولید کنید. اولین سطر فایل خروجی باید عدد $K$، تعداد دوستانی که جان‌علی باید دعوت کند باشد. $K$ سطر بعدی هر یک باید شامل نام یکی از آن‌ها باشد. می‌توانید فرض کنید که برای هر یک از فایل‌های ورودی یک پاسخ (نه لزوما یکتا) وجود دارد.

$submit$ ها

فایل‌های خروجی را با استفاده از $interface$ موجود در «وب» مانند برنامه‌های سایر مسئله‌ها $submit$ کنید.

ورودي و خروجي نمونه

ورودي نمونه خروجي نمونه
3
veronica
steve
dick
3
(veronica $\Rightarrow$ dick)
(steve $\Rightarrow$ -veronica)
(steve & dick)
‎2
steve
dick

ابزار صفحه