মাইনসুইপার একটি জনপ্রিয় কম্পিউটার গেম যা আপনি সম্ভবত খেলতে সময় নষ্ট করেছেন যেখানে আপনি প্রতিটি অ-খনি কোষের কতগুলি প্রতিবেশী খনি রয়েছে তার ইঙ্গিতের উপর ভিত্তি করে একটি আয়তক্ষেত্রাকার গ্রিডের খনিগুলি যে ঘরগুলি প্রকাশ করার চেষ্টা করছেন reveal আপনি যদি এটি খেলেন নি তবে এখানে এটি করুন ।
মাইনসুইপার গ্রিড (ওরফে বোর্ড) সম্পর্কে একটি নিমফ গাণিতিক সত্য হ'ল:
একটি বোর্ড এবং এর পরিপূরকগুলিতে খনিতে মোট নম্বর রয়েছে । ( প্রুফ )
এর অর্থ এটি হ'ল যদি আপনার কাছে সম্পূর্ণ প্রকাশিত মাইনসুইপার গ্রিড থাকে তবে সেই গ্রিডের সমস্ত সংখ্যার সমতুল্য, খনি মোট , গ্রিডের পরিপূরকের খনি মোটের সমান হবে, যা গ্রিড যেখানে প্রতিটি খনি প্রতিস্থাপন করা হয়েছে একটি অ-খনি এবং প্রতিটি নন-মাইন প্রতিস্থাপন করে।
উদাহরণস্বরূপ, মাইনসুইপার গ্রিডের জন্য
**1..
34321
*2**1
খনি মোট 1 + 3 + 4 + 3 + 2 + 1 + 2 + 1 = 17।
গ্রিডের পরিপূরক হ'ল
24***
*****
3*44*
যার আবার আমার মোট 2 + 4 + 3 + 4 + 4 = 17 আছে।
একটি প্রোগ্রাম যা টেক্সট আকারে একটি অবাধ শত্রু কর্তৃক স্থাপিত মাইন সরইয়া ফেলিবার কাজে নিযুক্ত জাহাজ গ্রিড যেখানে লাগে লিখুন *
এবং খনি প্রতিনিধিত্ব করে 1
মাধ্যমে 8
একটি অ-খনি সেল সংলগ্ন খনি সংখ্যা প্রতিনিধিত্ব করে। আপনি ব্যবহার করতে পারেন .
বা 0
বা
(স্থান) কোন খনি প্রতিবেশী, আপনার পছন্দের সঙ্গে কোষ প্রতিনিধিত্ব করতে। আপনি ধরে নিতে পারেন যে ইনপুট গ্রিডটি সঠিকভাবে চিহ্নিত হবে, অর্থাত প্রতিটি নন-মাইন সেল যথাযথভাবে তার সাথে সংলগ্ন মোট খনিগুলির সংক্ষিপ্ততাটি তাত্ক্ষণিকভাবে বা ত্রিভুজযুক্তভাবে চিহ্নিত করবে।
(একই ব্যবহার করে আপনার প্রোগ্রাম একই বিন্যাসে গ্রিড সম্পূরক প্রিন্ট করার প্রয়োজন .
, 0
অথবা
হিসাবে আপনি ইনপুটে প্রত্যাশিত)।
বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।
- কোনও প্রোগ্রামের পরিবর্তে আপনি কোনও ফাংশন লিখতে পারেন যা ইনপুট গ্রিডটিকে স্ট্রিং হিসাবে গ্রহণ করে এবং পরিপূরক গ্রিডটি প্রিন্ট করে বা প্রদান করে।
- ইনপুট বা আউটপুটে একটি পিছনে থাকা নতুন লাইন ঠিক আছে, তবে গ্রিড গঠন করে এমনগুলি ছাড়া আর কোনও অক্ষর নেই।
- আপনি ধরে নিতে পারেন যে 1 × 1 গ্রিডটি সবচেয়ে ছোট ইনপুট হবে।
পরীক্ষার মামলা
পরিপূরকের পরিপূরক মূল গ্রিড হওয়ায় সমস্ত ইনপুট এবং আউটপুটগুলি অদলবদল হতে পারে। আরও পরীক্ষার ক্ষেত্রে গ্রিডগুলিও ঘোরানো যেতে পারে।
ইনপুট:
111
1*1
111
আউটপুট:
***
*8*
***
ইনপুট:
.
আউটপুট:
*
ইনপুট:
*11*1.1**1...1***1.....1*****1..........
আউটপুট:
1**2***11*****1.1*******1...1***********
ইনপুট: ( নট উদাহরণ কাটা )
**212*32
333*33**
1*22*333
222222*1
*33*2232
2**22*2*
আউটপুট:
24***4**
***7**64
*8**7***
******8*
4**7****
*33**5*3
?
বোর্ডের চূড়ান্ত লাইনের পরে লাইনে একটি শেষ ডিলিমিটার ব্যবহার করা (উদাহরণস্বরূপ ), অথবা আমি কমান্ড লাইনের মাধ্যমে ইনপুট লাইনের সংখ্যা নিতে পারি?