المپدیا

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

ابزار کاربر

ابزار سایت


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

مکعب دوار

مکعبی را در نظر بگیرید که هر وجه آن با یکی از رنگ‌های $B،A$، … و $F$ رنگ شده است. فرض کنید رنگ هر دو وجه متمایز، مختلف است. در هر لحظه هر وجه مکعب را نسبت به موقعیتی که نسبت به چشم ما دارد، مطابق شکل با

شماره‌های ‍۱ تا ۶ شماره‌گذاری می‌کنیم. منظور از چرخش $(a,b)$، دوران مکعب حول یال بین وجه‌های با رنگ‌های $a$ و $b$ است، به طوری که پس از انجام این عمل وجه بارنگ $a$ در موقعیت وجه با رنگ $b$ قبل از اعمال دوران قرار گیرد.

رنگ وجه‌های با شماره‌های ۱ تا ۶ در آغاز و همچنین $k$ چرخش $(a_1,b_1)$، $(a_2,b_2)$، … و $(a_k,b_k)$ داده شده‌اند.

برنامه‌ای بنویسید که در حداکثر مدت ده ثانیه رنگ وجه‌های با شماره‌های ۱ تا ۶ را پس از انجام $k$‌ دوران تعیین کند.

ورودي

در خط اول فایل ورودی ۶ نویسه‌ی $c_1$، $c_2$، … و $c_6$ بدون فاصله آمده‌اند. نویسه‌ی $c_i$ از مجموعه‌ی $\{A…F\}$ انتخاب شده و نشانگر رنگ وجه شماره‌ی $i$ در آغاز است. در خط دوم فایل مقدار $k$ و در سطر $i+2$ ام $(1\leq i \leq k)$ نویسه‌های $a_i$ و $b_i$ از مجموعه‌ی $\{A…F\}$ بدون فاصله آمده‌اند. فرض کنید $k$ از ۱۰۰۰۰ بیش‌تر نیست.

خروجي

فایل خروجی باید شامل یک سطر باشد و در آن ۶ نویسه‌ی $d_1$، $d_2$، … و $d_6$ بدون فاصله بیایند. نویسه‌ی $d_i$ باید متعلق به مجموعه‌ی $\{A…F\}$ باشد و رنگ وجه شماره‌ی $i$ را پس از انجام دوران‌ها مشخص کند.

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

ورودي نمونه خروجي نمونه
ABCDEF
2
BA
BC
‎DFBEAC

ابزار صفحه