কেবল সারি এবং কলামগুলি উল্টিয়ে (কেন্দ্রবিন্দুটির চারপাশে বিপরীত) উল্টিয়ে একটি অঙ্কের বর্গক্ষেত্রকে আনম্বল করতে একটি প্রোগ্রাম বা ফাংশন তৈরি করুন।
ইনপুট
ইনপুট নীচের মতো 9 লাইন স্ট্রিং আকারে একটি 9x9 গ্রিড হবে:
986553229
264564891
759176443
643982153
567891234
526917874
685328912
891732537
117644378
এই ইনপুট ফর্ম্যাটটি আলোচনা সাপেক্ষ নয় - ইনপুট ফর্ম্যাট সহ যে কোনও সমাধান "সৃজনশীল" তা অবৈধ বলে বিবেচিত হবে।
আউটপুট
আউটপুটটি ফ্লিপ মুভগুলির একটি তালিকা হওয়া উচিত যা প্রদত্ত ক্রমে ইনপুট প্রয়োগ করা হলে লক্ষ্য গ্রিডটি পুনরায় তৈরি করা উচিত।
একটি উদাহরণ আউটপুট (পূর্ববর্তী ইনপুট উদাহরণের সমাধান নয়):
28IF5D3EAB9G3
এই আউটপুট ফর্ম্যাটটিও অ-আলোচনাযোগ্য। আউটপুটে কোনও নতুনলাইন বা ফাঁকা স্থান থাকা উচিত নয়, কেবলমাত্র অক্ষরগুলি 1- 9এবং A- I(যদি আপনি পছন্দ করেন তবে বড় হাতের অক্ষরের জায়গায় ছোট ছোট অক্ষর গ্রহণযোগ্য হয়)।
টার্গেট গ্রিড (যে রাজ্যে আপনাকে পুনরায় তৈরি করতে হবে) তা নিম্নরূপ:
123456789
234567891
345678912
456789123
567891234
678912345
789123456
891234567
912345678
নম্বরগুলি 1- 9সারিগুলি উল্টানোর জন্য নির্দেশ হিসাবে ব্যবহার করা উচিত, এবং বর্ণগুলি A- Iকলামগুলির জন্য ব্যবহার করা উচিত। গ্রিডটি পুনরুদ্ধারকৃত অবস্থায় এটি নীচে দেখানো হয়েছে।
ABCDEFGHI
|||||||||
vvvvvvvvv
1 -> 123456789
2 -> 234567891
3 -> 345678912
4 -> 456789123
5 -> 567891234
6 -> 678912345
7 -> 789123456
8 -> 891234567
9 -> 912345678
সুতরাং একটি 8মাধ্যম নীচে থেকে দ্বিতীয় সারিটি ফ্লিপ করুন এবং একটি Fউপায় ষষ্ঠ কলামটি ফ্লিপ করুন।
কোনও সমাধান সম্ভব না হলে, প্রোগ্রামটি কিছুতেই আউটপুট না দিয়েই শেষ করা উচিত।
উদাহরণ
ইনপুট:
987654321
234567891
345678912
456789123
567891234
678912345
789123456
891234567
912345678
আউটপুট:
1
এক্ষেত্রে লক্ষ্য স্থিতিতে ফিরে আসার জন্য কেবল শীর্ষ সারিতেই উল্টানো দরকার।
ইনপুট:
123456788
234567897
345678916
456789125
567891234
678912343
789123452
891234561
912345679
আউটপুট:
I
এই ক্ষেত্রে কেবলমাত্র চূড়ান্ত কলাম (কলাম I) লক্ষ্য স্থিতি পুনরায় তৈরি করতে উল্টানো দরকার needs
ইনপুট:
123456788
798765432
345678916
456789125
567891234
678912343
789123452
891234561
912345679
আউটপুট:
2I
এক্ষেত্রে আমাদের লক্ষ্য 2স্থলে Iফিরতে সারিটি ফ্লিপ করতে হবে এবং তারপরে কলামটি ফ্লিপ করতে হবে।
নোট:
- আপনার উত্তরে একটি উদাহরণ ব্যবহার অন্তর্ভুক্ত করুন।
- প্রদত্ত আউটপুটটি সংক্ষিপ্ততর ক্রম হতে হবে না যা লক্ষ্য স্থিতি ফিরিয়ে দেবে - যে সিকোয়েন্স যা গোলের রাজ্যটি ফিরিয়ে দেয় ততক্ষণ এটি কাজ করবে (যেমন আমি যতক্ষণ না এটি পরীক্ষা করতে পারি)
- আমি প্রতিটি উত্তর যাচাই করার চেষ্টা করব এবং যারা কাজ করে তাদের অবশ্যই উত্সাহিত করব এবং স্পষ্টতই গল্ফ করার চেষ্টা করেছিল।
- এটি একটি উন্মুক্ত সমাপ্ত প্রতিযোগিতা - আমি পরের সপ্তাহের মধ্যে কিছুটা স্বল্পতম উত্তর গ্রহণ করব, তবে ভবিষ্যতে যে কোনও সময়ে সংক্ষিপ্ততর একটি নতুন বৈধ উত্তর যদি আসে তবে আমি তা প্রতিফলিত করার জন্য স্বীকৃত উত্তরটি পরিবর্তন করব ।
২/0/০৯/২০১৮ (GMT) 26/01/2014 তারিখেপ্রাপ্ত সংক্ষিপ্ত উত্তরের জন্য এই অনুগ্রহ 200 টি খ্যাতি অর্জন করা হয়েছেThe এই বাউন্ডি হাওয়ার্ডকে তার 268 চরিত্রের গল্ফস্ক্রিপ্ট সমাধানের জন্য ভূষিত করা হয়েছিল ।
পরীক্ষামূলক
আপনার উত্তর সহ নিম্নলিখিত তিনটি পরীক্ষা গ্রিডের জন্য আপনার প্রোগ্রামটির আউটপুট সরবরাহ করুন:
986553229
264564891
759176443
643982153
567891234
526917874
685328912
891732537
117644378
927354389
194762537
319673942
351982676
567891234
523719844
755128486
268534198
812546671
813654789
738762162
344871987
341989324
567891234
576217856
619623552
194435598
926543271
আমি পরীক্ষার উদ্দেশ্যে বৈধ গ্রিড তৈরির জন্য একটি ছোট পাইথন প্রোগ্রাম তৈরি করেছি:
import random
def output(array):
print '\n'.join([''.join(row) for row in array])
def fliprow(rownum, array):
return [row[::1-2*(rownum==idx)] for idx,row in enumerate(array)]
def flipcol(colnum, array):
return zip(*fliprow(colnum, zip(*array)))
def randomflip(array):
op=random.randint(0,1)
row=random.randint(0,9)
if(op==1):
return fliprow(row, array)
else:
return flipcol(row, array)
def jumble(array):
arraycopy=array
for i in range(10, 1000):
arraycopy=randomflip(arraycopy)
return arraycopy
startarray=[
['1','2','3','4','5','6','7','8','9'],
['2','3','4','5','6','7','8','9','1'],
['3','4','5','6','7','8','9','1','2'],
['4','5','6','7','8','9','1','2','3'],
['5','6','7','8','9','1','2','3','4'],
['6','7','8','9','1','2','3','4','5'],
['7','8','9','1','2','3','4','5','6'],
['8','9','1','2','3','4','5','6','7'],
['9','1','2','3','4','5','6','7','8']]
print output(jumble(startarray))
(-2, 4), (2, 4), (2, -4), অথবা (-2, -4)।
A1) নেওয়ার চেষ্টা করুন এবং এটিকে সরান B1। আপনি 1পজিশনে পৌঁছে যেতে পারেন B1, তবে এটি টাইল হতে হবে, টাইল B9নয় A1। যেহেতু আমাদের কেবলমাত্র পুরো সারি / কলামটি ফ্লিপ করার অনুমতি দেওয়া হয়েছে, উপরের বাম দিকের 1 টি কেবল চারটি বহির্মুখী কোণগুলির মধ্যে থাকবে in আমি যদি নিয়মগুলি ভুল করে থাকি তবে দয়া করে আমাকে জানান।



