আপনারা জানেন যে ডিএনএতে চারটি ঘাঁটি রয়েছে - অ্যাডেনিন ( A
), সাইটোসিন ( C
), গুয়ানাইন ( G
) এবং থাইমাইন ( T
)। সাধারণত A
সঙ্গে বন্ড T
এবং C
সঙ্গে বন্ড G
, এর "rungs" বিরচন ডিএনএ ডবল হেলিক্স কাঠামো ।
আমরা সংজ্ঞায়িত সম্পূরক একটি বেস এর বেস এটা বন্ড হতে - অর্থাত সম্পূরক A
হয় T
, এর সম্পূরক T
হয় A
, এর সম্পূরক C
হয় G
এবং সম্পূরক G
হয় C
। আমরা একটি DNA স্ট্রিং এর সম্পূরক সংজ্ঞায়িত প্রতিটি বেস complemented, যেমন সম্পূরক সঙ্গে স্ট্রিং হতে পারেন GATATC
হয় CTATAG
।
ডিএনএর দ্বৈত-প্রসারিত কাঠামোর কারণে, একটি স্ট্র্যান্ডের ঘাঁটিগুলি অন্য স্ট্র্যান্ডের ঘাঁটির পরিপূরক হয়। তবে ডিএনএর একটি দিক রয়েছে এবং ডিএনএ প্রতিলিপি দুটি স্ট্র্যান্ডের বিপরীত দিকে ঘটে directions সুতরাং আণবিক জীববিজ্ঞানীরা প্রায়শই ডিএনএ স্ট্রিংয়ের বিপরীত পরিপূরকটিতে আগ্রহী হন - বেশ আক্ষরিক অর্থে স্ট্রিংয়ের পরিপূরকগুলির বিপরীত।
আমাদের আগের উদাহরণ প্রসারিত করার জন্য, এর বিপরীত সম্পূরক GATATC
হয় CTATAG
পিছন তাই হয়, GATATC
। যেমন আপনি লক্ষ্য করেছেন, এই উদাহরণে বিপরীত পরিপূরকটি মূল স্ট্রিংয়ের সমান - আমরা এই জাতীয় একটি স্ট্রিংকে একটি বিপরীত প্যালিনড্রোম বলে থাকি *
ডিএনএর একটি স্ট্রিং দেওয়া, আপনি কি সবচেয়ে দীর্ঘতম স্ট্রিং খুঁজে পাবেন যা একটি বিপরীত প্যালিনড্রোম?
* প্যালিনড্রোমের সাধারণ অর্থ থেকে আলাদা করতে আমি রোজালিন্ড থেকে নেওয়া "বিপরীত প্যালিনড্রোম" শব্দটি ব্যবহার করি ।
ইনপুট
ইনপুটটি একটি একক স্ট্রিং হবে যা কেবল ACGT
উচ্চ অক্ষরের অক্ষরের সমন্বয় করে। আপনি এই চ্যালেঞ্জের জন্য কোনও ফাংশন বা একটি সম্পূর্ণ প্রোগ্রাম লিখতে পারেন।
আউটপুট
আপনি মুদ্রণ বা প্রত্যাবর্তনের মাধ্যমে আউটপুট চয়ন করতে পারেন (পরের পছন্দটি কেবল কোনও ফাংশনের ক্ষেত্রে পাওয়া যায়)।
যদি কোনও অনন্য সমাধান থাকে তবে আপনার প্রোগ্রামটির ইনপুট স্ট্রিংয়ের দীর্ঘতম বিপরীত প্যালিনড্রোমিক স্ট্রিং আউটপুট করা উচিত। যদি একাধিক সমাধান বিদ্যমান থাকে, তবে আপনি হয় সেগুলির একটিরও আউটপুট পেতে পারেন বা সেগুলি সমস্ত (আপনার পছন্দ)। সদৃশগুলি ঠিক আছে যদি আপনি সেগুলির সমস্ত আউটপুট চয়ন করেন।
ইনপুটটিতে কমপক্ষে দৈর্ঘ্য 2 এর সমাধান থাকার গ্যারান্টিযুক্ত।
কাজ করেছেন উদাহরণ
ATGGATCCG -> GGATCC
এর বিপরীত পরিপূরকটি GGATCC
হ'ল ( GGATCC --complement--> CCTAGG --reverse--> GGATCC
), তবে GGATCC
এটি একটি বিপরীত প্যালিনড্রোম। GATC
এটি একটি বিপরীত প্যালিনডমও তবে এটি দীর্ঘতম নয় not
পরীক্ষার মামলা
AT -> AT
CGT -> CG
AGCA -> GC
GATTACA -> AT, TA
ATGGATCCG -> GGATCC
CCCCCGGGGG -> CCCCCGGGGG
ACATATATAGACT -> ATATAT, TATATA
ATTCGATCTATGTAAAGAGG -> TCGA, GATC
CGCACGTCTACGTACCTACGTAG -> CTACGTAG
TCAATGCATGCGGGTCTATATGCAT -> ATGCAT, GCATGC [, ATGCAT]
CGCTGAACTTTGCCCGTTGGTAGAACGGACTGATGTGAACGAGTGACCCG -> CG, GC, TA, AT [, GC, CG, CG, CG, CG]
CTCGCGTTTGCATAACCGTACGGGCGGAACAGTCGGCGGTGCCTCCCAGG -> CCGTACGG
স্কোরিং
এটি কোড গল্ফ, সুতরাং কয়েকটি বাইটে সমাধান জিততে পারে।