নন-প্যালিনড্রমিক পলিগ্লট বোগলে কাজ করার সময় , আমি কেবল দুটি স্ট্রিং সহ এমনকি বোগল বোর্ডে কোডগুলি যথাসম্ভব দক্ষতার সাথে প্যাক করা বেশ ক্লান্তিকর বলে মনে করি। কিন্তু আমরা প্রোগ্রামার, তাই না? আমরা কীভাবে জিনিসগুলিকে স্বয়ংক্রিয় করতে হয় তা জানি।
স্ট্রিংগুলির একটি তালিকা দেওয়া হয়েছে, আপনি একটি বগল বোর্ড তৈরি করতে হবে যার উপরে সেই প্রতিটি স্ট্রিং পাওয়া যাবে (অন্যদের থেকে স্বতন্ত্রভাবে)। চ্যালেঞ্জটি হ'ল বগল বোর্ডকে যতটা সম্ভব ছোট করা। যেহেতু এটি (আশাবাদী) বরং একটি কঠিন কাজ, এটি একটি কোড-চ্যালেঞ্জ : অনুকূলতার কোনও প্রয়োজন নেই - চ্যালেঞ্জটি হ'ল এটি যেমন করা সম্ভব তেমনি করাও।
বিধি
- বগল বোর্ড আয়তক্ষেত্রাকার হবে এবং এতে কেবলমাত্র বড় হাতের অক্ষর থাকবে। অতএব, ইনপুট স্ট্রিংগুলিতে কেবল কেবলমাত্র বড় হাতের অক্ষর থাকবে।
- সাধারণ বগল বিধিগুলি প্রয়োগ হয়: একটি স্ট্রিং বোর্ডের অংশ, যদি কোথাও থেকে শুরু করে আপনি বার বার সংলগ্ন অক্ষরগুলিতে (অনুভূমিকভাবে, উল্লম্বভাবে বা ত্রিভুজুভাবে) স্ট্রিংটি খুঁজে পেতে পারেন। একটি একক স্ট্রিং গঠনের জন্য, আপনি বোর্ডের কোনও ঘর একাধিকবার ব্যবহার করতে পারবেন না। তবে অক্ষরের বিভিন্ন স্ট্রিংয়ের মধ্যে পুনরায় ব্যবহার করা যেতে পারে।
- পরীক্ষার ডেটা প্রক্রিয়া করার জন্য আপনি 30 মিনিট পেয়েছেন এবং আপনার কোডটিতে 4 গিগাবাইটের বেশি মেমরি ব্যবহার করা উচিত নয়। আমি মেমরির সীমাটিতে কিছুটা সামান্য ছাড় দেব, তবে যদি আপনার প্রোগ্রামটি ধারাবাহিকভাবে 4 জিবি-র বেশি বা তার উপরে উল্লেখযোগ্যভাবে স্পাইকগুলি ব্যবহার করে, আমি (অস্থায়ীভাবে) এটি অযোগ্য ঘোষণা করব।
- আমি আমার নিজের মেশিনে যাবতীয় উইন্ডোজ ৮ চালাচ্ছে তার সমস্ত পরীক্ষার পরীক্ষা করব, আমার একটি উবুন্টু ভিএম আছে, তবে যদি আমাকে এটি পরীক্ষা করতে হয় তবে আপনি 30 মিনিটের মতো ততটা ব্যবহার করতে পারবেন না। আপনার নির্বাচিত ভাষার জন্য দয়া করে একটি বিনামূল্যে দোভাষী / সংকলকের একটি লিঙ্ক অন্তর্ভুক্ত করুন, পাশাপাশি কীভাবে আপনার কোডটি সংকলন / পরিচালনা করবেন সে সম্পর্কে নির্দেশাবলী।
- আপনার স্কোরটি নীচের পরীক্ষার ডেটার জন্য বগল বোর্ডের আকার হবে (নতুন লাইনের গণনা করছে না)। টাইয়ের ক্ষেত্রে (যেমন একাধিক লোকেরা সর্বোত্তম সমাধান উত্পাদন করতে সক্ষম হয়), বিজয়ী হ'ল জমা দেওয়া যা এই সর্বোত্তম সমাধানটি দ্রুত তৈরি করে।
- আপনি অবশ্যই পরীক্ষা কোডের দিকে আপনার কোডটি বিশেষত অনুকূলিত করবেন না। আমি যদি কারও এটির জন্য সন্দেহ করি তবে আমি নতুন পরীক্ষার ডেটা উত্পন্ন করার অধিকার সংরক্ষণ করি।
উদাহরণ
স্ট্রিং দেওয়া হয়েছে
FOO
BAR
BOOM
একবার তুচ্ছভাবে তাদের 4x3 বগল বোর্ডে রাখতে পারে:
FOOX
BARX
BOOM
স্ট্রিংগুলি সোজা হওয়ার দরকার নেই তা ব্যবহার করে আমরা এটিকে 5x2 এ সংকুচিত করতে পারি:
BORFO
OMABO
তবে আমরা বিভিন্ন স্ট্রিংয়ের মধ্যে অক্ষর পুনরায় ব্যবহার করে এটিকে আরও ছোট করে তুলতে পারি এবং 4x2 এ স্ট্রিংগুলি ফিট করতে পারি:
FOOM
BARX
এখন B
উভয় জন্য ব্যবহার করা হয় BOOM
এবং BAR
, এবং OO
উভয় জন্য ব্যবহার করা হয় BOOM
এবং FOO
।
পরীক্ষার ডেটা
আপনার জমাটি নিম্নলিখিত 50 টি স্ট্রিংয়ে পরীক্ষা করা হবে। পরীক্ষার উদ্দেশ্যে আপনি কেবলমাত্র এই ডেটার আরও ছোট সাবসেট ব্যবহার করতে পারেন যা আরও দ্রুত চালানো উচিত। আমি বিশ্বাস করি যে এই পরীক্ষার ডেটার জন্য নিখুঁত নিম্ন সীমাটি 120 টি অক্ষর বিশিষ্ট একটি বোর্ড, যদিও এটি প্রয়োজনীয়ভাবে অর্জনযোগ্য নয়।
T
WP
GVI
CIHM
EGWIV
QUTYFZ
LWJVPNG
XJMJQWSW
JLPNHFDUW
SWMHBBZWUG
XVDBMDQWDEV
TIUGAVZVUECC
IWDICFWBPSPQR
MMNWFBGMEXMSPY
YIHYXGJXKOUOIZA
BZSANEJNJWWNUJLJ
XTRMGOVPHVZYLLKKG
FLXFVVHNTWLMRRQYFQ
VZKJRAFQIYSBSXORTSH
FNQDIGCPALCHVLHDNZAV
GEAZYFSBSWCETXFKMSWLG
KWIZCEHVBDHEBGDGCJHOID
SKMQPHJAPDQKKHGTIPJCLMH
ZSFQDNYHALSUVWESQVVEUIQC
HXHBESUFCCECHNSTQGDUZPQRB
DSLXVHMOMLUXVHCNOJCBBRPVYB
DVTXKAOYYYRBVAVPSUAOYHIPPWN
PJAIYAWHMTNHTQDZDERPZYQEMLBZ
SYNSHJNOIWESMKWTBIANYUAUNRZOS
WADGUKIHUUFVRVUIBFUXQIOLAWIXAU
LGLXUFIXBEPSOFCKIAHXSHVKZPCXVPI
LIUYFHITTUYKDVQOZPNGZLWOZSRJTCTZ
IZDFTFFPNEBIYGVNTZHINICBXBXLBNBAL
BSKQNTPVUAVBXZGHVZCOUCRGCYISGFGYAS
DPGYYCIKDGCETXQOZGEQQLFQWACMVDTRYAT
RQDNIPGUHRYDRVHIPJLOWKBXMIBFAWCJGFMC
PFKOAGEQLXCMISSVEARWAPVYMRDCLSLPJOMQQ
EQPCNHQPTWABPFBVBXHQTFYELPNMNCWVKDDKGR
RAHTJMGIQJOJVWJBIHVRLJYVCSQJCKMEZRGRJMU
SZBJBPQYVYKDHAJHZMHBEWQEAQQKIEYCFACNLJBC
ANVDUCVXBPIZVRAXEBFEJOHSYKEKBIJELPIWEYXKH
DJUNPRLTISBFMGBEQNXSNUSOGDJNKESVKGAAMTIVXK
TZPUHDSHZFEURBNZTFBKXCDPYRELIAFMUWDIQTYWXGU
FJIKJROQSFSZUCGOOFJIEHBZREEUUSZWOLYFPCYHUSMR
TPMHJEAWVAJOCSDOPMQMHKRESBQSTRBXESYGCDVKLFOVS
ABJCCDJYMYDCYPZSGPGIAIKZQBYTZFDWYUZQBOESDSDGOY
IIHKTVPJNJDBCBOHCIYOPBKOVVKGNAKBDKEEKYIPRPHZOMF
IABGEPCSPNSMLVJBSGLRYNFSSYIALHWWAINTAVZAGJRVMDPW
GFMFVEFYJQJASVRIBLULUEHPMZPEXJMHIEMGJRMBLQLBDGTWT
YPWHLCVHQAVKVGHMLSOMPRERNHVYBECGCUUWTXNQBBTCMVTOVA
যাচাইকারী
বগল বোর্ডের প্রদত্ত তালিকায় সমস্ত স্ট্রিং রয়েছে কিনা তা যাচাই করতে আপনি নিম্নলিখিত স্ট্যাক স্নিপেট ব্যবহার করতে পারেন। আমি এখানে edc65 এর উত্তর থেকে বগল অনুসন্ধান কোডটি পোর্ট করেছি । কিছু বগি লাগলে আমাকে জানান।