একটি সুডোকু সমাধান চেকার তৈরি করুন
এখানে সুডোকু সলভার্সের ওডলস রয়েছে তবে আমি চাই আপনি একটি সমাধান চেকার যতটা সম্ভব মানুষের পক্ষে সম্ভব (কোড-গল্ফ) তৈরি করুন।
একটি বৈধ এন্ট্রি হয় 9x9 অ্যারেটি আর্গুমেন্ট হিসাবে গ্রহণ করতে সক্ষম হবে (রেফারেন্স দ্বারা পাস হয়েছে, কমান্ড লাইনে সিরিয়ালযুক্ত হয়েছে, তবে আপনি এটি নিতে চান) বা চূড়ান্ত গ্রিডের জন্য নয় সংখ্যার নয়টি লাইনের একটি ইনপুট ফাইল গ্রহণ করতে পারবেন । নীচে ইনপুট উদাহরণ দেখুন।
বৈধ ইনপুট বেস -10 নম্বর (1-9) হওয়া উচিত
অনুপস্থিত, খালি, অতিরিক্ত, অ-সংখ্যাসূচক অবস্থান বা 1-9 এর বাইরে সংখ্যাসমূহের অবস্থানগুলিকে একটি শূন্য-ফলাফল না দিয়ে, একটি ত্রুটি মুদ্রণ করে বা উভয়ই অবৈধ ইনপুট হিসাবে প্রত্যাখ্যান করা উচিত।
আপনার প্রোগ্রামটি প্রতিটি কলামে একবার, একবার প্রতি লাইন এবং একবার 3x3 সাব-গ্রিডে প্রদর্শিত হবে কিনা তা পরীক্ষা করা দরকার। যদি এটি পাস হয়ে যায়, "0" এবং যদি না হয় তবে একটি শূন্য-ফলাফল ছাড়াই ফিরে আসুন।
বাহ্যিক সংস্থার (ওয়েবসাইট ইত্যাদি) ব্যবহার এড়ানো উচিত।
যদি আপনার সমাধানটি একা-একা প্রোগ্রাম হয়, বা প্রিন্টের প্রস্থান স্থিতি দিয়ে প্রস্থান করা হয়, "পাস" বা "ব্যর্থ" এর জন্য যথাক্রমে "0" বা শূন্য নয়, ঠিক আছে।
সবচেয়ে ছোট উত্তরটি জয় হোক!
ইনপুট উদাহরণ:
সি অ্যারে:
int input[9][9]={{1,2,3,4,5,6,7,8,9},
{4,5,6,7,8,9,1,2,3},
{7,8,9,1,2,3,4,5,6},
{2,3,1,5,6,4,8,9,7},
{5,6,4,8,9,7,2,3,1},
{8,9,7,2,3,1,5,6,4},
{3,1,2,6,4,5,9,7,8},
{6,4,5,9,7,8,3,1,2},
{9,7,8,3,1,2,6,4,5}
};
ফাইল:
123456789
456789123
789123456
231564897
564897231
897231564
312645978
645978312
978312645
9 টি উপ-গ্রিড:
+---+---+---+
|123|456|789|
|456|789|123|
|789|123|456|
+---+---+---+
|231|564|897|
|564|897|231|
|897|231|564|
+---+---+---+
|312|645|978|
|645|978|312|
|978|312|645|
+---+---+---+
1
বা-1