.1درخت قرمز سیاه در درس ساختمان دادهها با درخت قرمز-سیاه و خصوصیات آن آشنا شدید .دیدید که چهطور پس از درج یک عنصر جدید با استفاده از چرخش به راست یا چپ خصوصیات این درخت حفظ میشود .روش پیچش روش جدیدی برای درج عنصر در درخت قرمز-سیاه است که در این مسئله به شما معرفی میکنیم: روش پیچش: هر بار که میخواهیم عنصر جدیدی در درخت درج کنیم ،از ریشه شروع میکنیم .اگر عنصر جدید از گرهی فعلی کوچکتر بود به زیر درخت چپ و در غیر اینصورت به زیر درخت راست میرویم تا جایی که به یک گرهی خالی برسیم .عنصر جدید را به رنگ قرمز در اینجا اضافه میکنیم. اگر پدر گرهی جدید سیاه باشد مشکلی وجود ندارد و درج پایان مییابد .در غیر اینصورت پدر آن قرمز و پدربزرگ آن سیاه است (زیرا در درخت قرمز سیاه پدر هر قرمزی سیاه است) .بنابراین یکی از چهار حالت زیر به وجود میآید: )سیاه(x \ / T1 )قرمز(y \ / T2 )قرمز(z \ / T3 T4 )سیاه(x \ / T1 )قرمز(z \ / )yقرمز( T4 \ / T2 T3 )zسیاه( \ / )xقرمز( T4 \ / T1 )قرمز(y \ / T2 T3 )zسیاه( \ / )yقرمز( T4 \ / )xقرمز( T3 \ / T1 T2 با استفاده از یک پیچش هریک از چهار حالت باال را به حالت زیر تبدیل میکنیم: ) yقرمز( \ / / \ ) xسیاه( )سیاه( z \ / \ / T1 T2 T3 T4 ممکن است پس از چرخش ،پدر yقرمز باشد بنابراین عملیات چرخش را رو به باال ادامه میدهیم .در آخر ممکن است به گرهی قرمزی با پدر قرمز برسیم که پدر بزرگ ندارد .در چنین حالتی (که امکان پیچش وجود ندارد) ،ریشه قرمز است و کافی است رنگ آن را به سیاه تغییر دهیم تا خصوصیات درخت قرمز سیاه برقرار شود. تعریف مسئله: ابتدا nو سپس جایگشتی از اعداد 1تا nبه شما داده میشود تا آنها را به روش باال به ترتیب در درخت قرمز سیاه درج کنید و در آخر تعداد کل پیچشها را در خروجی چاپ کنید. n<=50 ورودی خروجی 3 11 5 7 7146352 15 5 10 15 14 3 4 11 2 1 12 6 9 7 13 8 19 6 8 10 12 4 2 18 14 16 19 7 15 9 17 13 5 11 3 1 .2درخت الفبــا تعدادی رشته به ما داده شده که میتوانیم از زیررشتههای آنها استفاده کنیم .هر بار میتوانیم دو زیر رشتهی غیر تهی از رشتهها (نه لزوما متمایز) را انتخاب کنیم و با کنار هم گذاشتن آنها کلمهی جدیدی بسازیم .برای مثال با دو رشتهی noteو bookمیتوان کلماتی مانند ،ebook ،bot ،book not ،notebookو ...را ساخت .بسیاری از کلمات مانند کلمهی ooرا نیز میتوان به چند راه مختلف ساخت (هر oاز bookیا از noteباشد .که در کل 9 حالت میشود!!!) در این سوال شما باید با داشتن رشتههای اولیه ،بتوانید به دست آورید که یک کلمه را به چند راه میتوان از رشتههای اولیه ساخت. تعریف مسئله: ابتدا nتعداد رشتهها داده میشود .سپس در nخط بعدی nرشته داده میشود .پس از آن qتعداد پرسمانها آمده است .در هر یک از qخط بعدی یک کلمه آمده که به ازای هرکدام باید تعداد راههای ساختن آن کلمه از nرشتهی دادهشده را در خروجی چاپ کنید. محدودیت ها:طول کلمات کمتر از 500حرف میباشد q<=10000 ، n<=100 ، ورودی خروجی 3 9 2 2 aa abb 3 a aa aabb
© Copyright 2026 Paperzz