المپدیا

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

ابزار کاربر

ابزار سایت


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

زیرمجموعه‌ی مجموعه‌ساز

مجموعه‌ی $A=\{a_1,a_2,...,a_n\}$ شامل $n$ عدد طبیعی که در یک متغیر $Integer$ جا می‌گیرند داده شده است. $(n\leq 500)$ می‌خواهیم یک زیرمجموعه‌ی $S=\{s_1,s_2,...,s_k\}$ از $A$ را پیدا کنیم که:

  • $S$ کم‌ترین تعداد عدد ممکن را داشته باشد.($k$ کمینه باشد.)
  • هر عدد مجموعه‌ی $A$ را بتوان به صورت ترکیب خطی مثبت اعداد $S$ نوشت. یعنی:

$$\forall a \in A \exists b_1,b_2,...,b_k \in N \cup \{0\},a=b_1s_1+b_2s_2+...+b_ks_k$$

ورودی

در خط اول پرونده ورودی، $n$ تعداد اعداد مجموعه‌ی $A$ و در $n$ سطر بعدی، در هر خط، یکی از اعداد مجموعه‌ی $A$ نوشته شده است.

خروجی

در پرونده‌ی خروجی نیز مجموعه‌ی $S$ را شبیه مجموعه‌ی $A$ بنویسید.

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

ورودي نمونه خروجي نمونه
10
463
470
306
367
487
452
96
20
275
15
3
15
20
96
17
781
596
220
484
639
451
229
620
922
598
210
707
983
642
159
284
82
9
82
159
210
220
229
284
484
596
642

ابزار صفحه