حل تمرین دوقلوهای افسانهای و خرید گردنبند کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین دوقلوهای افسانهای و خرید گردنبند کوئرا با پایتون
پدر دوقلوهای افسانهای میخواهد برای دو دخترش گردنبند بخرد. از آنجا که بین دو گردنبند تثلیث برقرار است (یعنی یا دو گردنبند کاملاً یکی هستند و یا یکی بهتر از دیگری است)، پدر باید دو گردنبند کاملاً یکسان خریداری کند تا دوقلوها به یکدیگر حسودی نکنند. به ازای حالتهای مختلف بگویید دو گردنبند یکی هستند یا نه؟ دقت کنید چنانچه که یک گردنبند را بچرخانیم و یا آن را برعکس کنیم گردنبند ثابت باقی میماند! توصیه میشود به مثالهای نمونه توجه کنید.
ورودی
در خط اول عدد میآید که نشان دهنده تعداد جفت گردنبندهای مدنظر پدر دوقلوهای افسانهای است. سپس در هر کدام از t خط بعدی، یک جفت گردنبند مدنظر پدر با یک فاصله از هم میآید.
طول هر گردنبند حداکثر 7 و از حروف کوچک انگلیسی تشکیل شده است.
خروجی
به ترتیب برای هر جفتی که نشان دهنده دو گردنبند یکسان هستند، عبارت YES و در غیر اینصورت عبارت NO را خروجی دهید. به بزرگ بودن حروف خروجی خود توجه کنید.
مثال
ورودی نمونه 1
6 ab abab abc cba gcd lcm abc bca lca lcs abacb abcab
خروجی نمونه 1
NO YES NO YES NO YES
- در جفت اول چون طول دو گردنبند یکی نیست، آنها با هم برابر نیستند.
- در جفت دوم با برعکس کردن گردن بند دوم به گردنبندها برابر میشوند.
- در جفت سوم g در گردنبند اول هست ولی در دومی وجود ندارد.
- در جفت چهارم با یک واحد شیفت دادن به چپ گردنبند اول به گردنبند دوم میرسیم.
- در جفت پنجم a در گردنبند اول هست ولی در دومی نیست.
- در جفت ششم با یک بار برعکس کردن رشتهی اول، و یک واحد شیفت دادن به راست، به رشتهی دوم میرسیم.
کد پایتون سوال تمرین دوقلوهای افسانهای وخرید گردنبند
def can_strings_be_equal(s1, s2): if len(s1) != len(s2): return False concatenated = s1 + s1 if s2 in concatenated: return True elif s2[::-1] in concatenated: return True else: return False n = int(input()) answers = list() for i in range(n): line = input().split() a = line[0] b = line[1] ans = "" if (can_strings_be_equal(a, b) == True): ans = "YES" else: ans = "NO" answers.append(ans) for i in range(len(answers)): print(answers[i])
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ