ম্যানুফ্যাকোরিয়ায় আদিমতার পরীক্ষা


13

পটভূমি

ম্যানুফ্যাকোরিয়া প্রোগ্রামিং সম্পর্কে একটি খেলা। খেলাগুলিকে কার্য সম্পাদন করতে দ্বি-মাত্রিক প্রোগ্রামিং ভাষার একটি ফর্ম ব্যবহার করতে হবে। যদি আপনি এটি সম্পর্কে কখনও শুনেন নি তবে শেখার সবচেয়ে সহজ উপায় হ'ল গেমের প্রথম কয়েকটি স্তরের চেষ্টা করা।

চ্যালেঞ্জ

আপনার চ্যালেঞ্জটি এমন একটি প্রোগ্রাম তৈরি করা যা কোনও সংখ্যার আদিত্ব পরীক্ষা করে।

ইনপুটটি কাতারে এন ব্লু মার্কারগুলির একটি সিরিজ হবে। যদি এন প্রাইম হয় তবে আপনার প্রোগ্রামটি এটি গ্রহণ করা উচিত (রোবটটি সমাপ্তিতে সরানো)। যদি এন সংমিশ্রিত হয়, তবে আপনার প্রোগ্রামটি এটিকে প্রত্যাখ্যান করা উচিত (এটি কোথাও মেঝেতে ফেলে দিন)।

জমা দেওয়ার বিকল্পগুলি

যেহেতু এটি সাধারণ ম্যানুফ্যাকোরিয়া চ্যালেঞ্জের চেয়ে আরও জটিল চ্যালেঞ্জ, তাই আমি আপনার উত্তরগুলি জমা দেওয়ার আরও উপায়ের অনুমতি দেওয়ার সিদ্ধান্ত নিয়েছি।

ভ্যানিলা

জমাগুলি তৈরি এবং পরীক্ষার জন্য আমি একটি 13x13 কাস্টম স্তর তৈরি করেছি। কাস্টম পরীক্ষার স্তরটি নিম্নরূপ।

13x13 কাস্টম স্তর

গেমটি কেবলমাত্র একটি কাস্টম স্তরে 8 টি পরীক্ষার ক্ষেত্রে অনুমতি দেয় তবে আপনার তৈরিটি তাত্ত্বিকভাবে কোনও উপলভ্য মেমরির দ্বারা সীমাবদ্ধ কোনও প্রাকৃতিক সংখ্যা এন পরিচালনা করতে সক্ষম হবে able তথ্যের উদ্দেশ্যে, কাস্টম স্তরে প্রদত্ত পরীক্ষার কেসগুলি নিম্নরূপ:

1 -> reject
2 -> accept
4 -> reject
5 -> accept
7 -> accept
9 -> reject
11-> accept
15-> reject

প্রসারিত গ্রিড

কিছু ব্যবহারকারী 13x13 গ্রিডের চেয়ে বেশি ঘর চাইতে পারেন। ইউআরএলটিতে একটি নম্বর পরিবর্তন করে তৈরি করা একটি ইন-গেম 15x15 কাস্টম স্তরের লিঙ্ক এখানে রয়েছে:

15x15 কাস্টম স্তর

দুঃখের বিষয়, অতিরিক্ত কাস্টম স্তরগুলি কার্যকর হয় না, কারণ অতিরিক্ত ঘরগুলি অ্যাক্সেসযোগ্য।

ম্যানুফ্যাকরিয়া এসোলাং

একটি এএসসিআইআই-ভিত্তিক ভাষায় ম্যানুফ্যাকোরিয়ার একটি রূপান্তর রয়েছে। আপনি যদি নিজের সৃষ্টির নকশা / পরীক্ষা করার জন্য অন্য কোনও উপায় চান বা গেম বোর্ডের মধ্যে আপনার চূড়ান্ত সমাধানটি ফিট করতে না পারেন তবে আপনি এই এসলং ব্যবহার করতে পারেন। আপনি এখানে এই এসোলং সম্পর্কিত তথ্য পেতে পারেন:

ম্যানুফ্যাকচারিয়া এসওলাং

এওসোলং এবং আসল গেমের মধ্যে কয়েকটি বিভেদ রয়েছে। উদাহরণস্বরূপ, পরিবাহক ক্রসিংগুলি আলাদাভাবে পরিচালনা করা হয়। এই তাত্পর্যগুলির সুবিধা গ্রহণ এড়াতে চেষ্টা করুন।

টেস্টের দ্রুততম উপায়

গেমটি খুব ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে এগিয়ে যায়। আমার প্রুফ-অফ কনসেপ্ট সলিউশনটি 15 টি প্রত্যাখ্যান করতে 28042 পদক্ষেপ নিয়েছে। এমনকি গেমের 50x গতিতেও এটি খুব বেশি সময় নেয়।

আমি এই খুব সহায়ক ওয়েবসাইট পেয়েছি । কেবলমাত্র আপনার উত্তরের লিঙ্কটি অনুলিপি করে পেস্ট করুন এবং আপনি নির্দিষ্ট উত্তরগুলি দিয়ে আপনার উত্তরটি পরীক্ষা করতে পারেন। 28042-পদক্ষেপ প্রক্রিয়াটি এক সেকেন্ডের অধীনে নিয়েছে।

একটি বিষয় লক্ষণীয় যে এটি প্রায়শই "ভুলভাবে গৃহীত" এর মতো কিছু বলবে এমনকি আপনার মেশিনটি সঠিকভাবে কাজ করলেও। এটি হ'ল ওয়েবপৃষ্ঠা কেবল পরীক্ষার ক্ষেত্রে জানে। উদাহরণস্বরূপ, এটি বলবে যে আমার মেশিনটি আসলে সঠিক ছিল যদিও আমার সমাধানটি 3 নম্বরটি "ভুলভাবে গ্রহণ করেছে"।

জয় কিভাবে

স্কোরিং মানদণ্ডটি অংশগুলির সংখ্যা (ঘরগুলি দখল করা)। এটি কোড গল্ফ, সুতরাং কয়েকটি অংশের সাথে জমাটি জেতা।

আগ্রহীদের জন্য, আমার বেঞ্চমার্ক সমাধানটির 96 টি অংশ রয়েছে এবং 13x13 গ্রিডে ফিট করে। আরও ভাল অ্যালগরিদম সন্ধান করার ফলে প্রচুর উন্নতি হতে পারে, যেহেতু আমি জানি যে আমি একটি উপ-অনুকূল আলগোরিদম ব্যবহার করেছি।

উত্তর:


10

53 অংশ - 11x11 গ্রিড

আমি মাত্র 2 দিন আগে ম্যানুফ্যাকোরিয়া খেলতে শিখেছি, সুতরাং এটি সম্ভবত খুব গল্ফ-অনুকূলিত নয়, তবে কমপক্ষে এটি সমস্যার সমাধান করে। এটি পুনরাবৃত্তি বিয়োগের মাধ্যমে অবশ্যই পরীক্ষার বিভাগ প্রয়োগ করে। 2 থেকে এন -1 পর্যন্ত সমস্ত বিভাজক চেক করা হয়। আমি বিশ্বাস করি যে সময়ের জটিলতা হ'ল ও (এন ^ 3) হওয়া উচিত।

53-পিস সমাধান

সমাধান লিঙ্ক

আমি একটি কনভেয়র বেল্ট ব্যবহার করতে পেরে খুব হতাশ হয়েছি :)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.