আমরা ইতোমধ্যে মাইনসুইপার ক্ষেত্রগুলি তৈরি করেছি , তবে পিসিজি ফুটে উঠার আগে কাউকে সত্যিই সেই উত্পন্ন খনিগুলিকে ঝাঁপিয়ে দিতে হবে!
আপনার কাজটি হ'ল একটি মাইনসুইপার সলভার লিখুন যা "ওয়ার্কিং মাইনসুইপার" এর গ্রহণযোগ্য সমাধানের সামান্য পরিবর্তিত সংস্করণের সাথে সামঞ্জস্যপূর্ণ (বৃহত্তর ক্ষেত্রগুলিতে অনুমতি দেওয়ার জন্য ক্রিয়াগুলি স্পেস দ্বারা পৃথক করা হয়)।
ইনপুট: একটি মাইনসুইপার ক্ষেত্র, স্থানগুলি স্পেস দ্বারা পৃথক করা। প্রথম লাইনটি খনিগুলির মোট সংখ্যা বোঝায়।
x
: অস্পষ্ট!
: পতাকা- সংখ্যা: ক্ষেত্রের চারপাশে খনিগুলির সংখ্যা
উদাহরণ:
10
0 0 1 x x x x x
0 0 2 x x x x x
0 0 2 ! x x x x
0 0 1 2 x x x x
0 0 0 1 x x x x
1 1 0 2 x x x x
x 1 0 2 x x x x
1 1 0 1 x x x x
আউটপুট: বিন্যাসে আপনার পরবর্তী পদক্ষেপ action row column
(শূন্য থেকে শুরু)
বৈধ ক্রিয়া:
0
: ইহা খোল1
: একটি পতাকা রাখুন
উদাহরণ:
0 1 2
নিয়মাবলী:
- আপনি একটি সম্পূর্ণ প্রোগ্রাম লিখুন যা ইনপুট হিসাবে একক ক্ষেত্র গ্রহণ করে (এসটিডিইএন বা কমান্ড লাইন আর্গুমেন্ট) এবং একক ক্রিয়া আউটপুট করে (এসটিডিআউট)। অতএব, আপনি বাদে রাজ্যগুলি সংরক্ষণ করতে পারবেন না
!
। - বেঁচে থাকার জন্য আপনার পছন্দটি অবশ্যই সর্বোত্তম প্রতিক্রিয়া অনুসরণ করবে। (যেমন যদি 100% নিরাপদ পদক্ষেপ থাকে তবে তা ধরুন)
- এটি কোড-গল্ফ ; সংক্ষিপ্ততম সমাধান (ইউটিএফ -8 বাইটে) জয়লাভ করে
পরীক্ষা:
এই পরীক্ষাগুলি সাধারণ পরিষ্কার পরিস্থিতির জন্য পরীক্ষার উদ্দেশ্যে কাজ করে; আপনার প্রোগ্রাম প্রতিটি পরীক্ষার ক্ষেত্রে কাজ করতে হবে।
ইন:
4
x x x x
1 2 x x
0 1 2 x
0 0 1 x
আউট (এর মধ্যে যে কোনও একটি):
1 1 2
0 0 2
0 1 3
ইন:
2
x x x
1 ! x
1 1 x
আউট (এর মধ্যে যে কোনও একটি):
0 0 0
0 0 1
0 1 2
0 2 2
1 0 2
ইন:
10
x x x x x x x x
1 3 3 x x x x x
0 1 ! 3 3 4 x x
0 2 3 ! 2 3 x x
0 1 ! 2 2 ! x x
আউট (এর মধ্যে যে কোনও একটি):
1 1 5
1 0 2
ইন:
2
x x x
2 3 1
! 1 0
আউট (এর মধ্যে যে কোনও একটি):
0 0 1
1 0 0
1 0 2
0 0 2
বা সরানোর জন্য সক্ষম 0 1 3
? এর মধ্যে যে কোনও একটি কীভাবে নিরাপদ বলে বিবেচিত হবে তা আমি দেখতে পাচ্ছি না। (আমার অবশ্যই
F
বা :) এর P
চেয়ে আরও ভাল পতাকা দেখাচ্ছে!