চ্যালেঞ্জ
একটি প্রোগ্রাম বা ফাংশন লিখুন যা কোনও ফাংশন প্যারামিটার হিসাবে বা স্টিডিনের থেকে স্ট্রিং ইনপুট নেয় এবং নির্ধারণ করে যে এটি কোনও বৈধ FEN স্ট্রিং কিনা ।
ইনপুট
আপনি ধরে নিতে পারেন ইনপুটটি কেবল কখনই নিম্নলিখিত অক্ষরগুলিকে অন্তর্ভুক্ত করবে (সংবেদনশীল কেস)
pkqrbnPKQRBN12345678/
ইনপুটটির দৈর্ঘ্য সর্বদা সর্বনিম্ন 1 টি অক্ষর এবং সর্বাধিক 100 টি অক্ষরের হবে
আউটপুট
আউটপুট একটি সত্যবাদী / মিথ্যা মান হওয়া উচিত। এগুলি আপনার ইচ্ছা মত মান্য হতে পারে যতক্ষণ না তারা সুসংগত হয় (সমস্ত সত্য ফলাফলের একই আউটপুট থাকে, সমস্ত মিথ্যা ফলাফলের একই আউটপুট থাকে)। আপনার ঠিক দুটি স্বতন্ত্র সম্ভাব্য আউটপুট থাকা উচিত।
বৈধ হিসাবে গণনা করা হয় কি
ছোট হাতের অক্ষর কালো টুকরা উপস্থাপন করে, বড় হাতের অক্ষর সাদা টুকরা উপস্থাপন করে।
আপনার নিশ্চিত হওয়া উচিত যে বর্তমান অবস্থানে থাকা টুকরোগুলির জন্য দাবা খেলায় এটি সম্ভব।
প্রতিটি খেলোয়াড়ের সর্বদা ঠিক 1 কিং (কে / কে) থাকবে
প্রতিটি খেলোয়াড়ের কাছে 8 টিরও বেশি পাউন্ডের (পি / পি)
প্রতিটি খেলোয়াড়ের সাধারণত 1 * রানি (কিউ / কিউ)
বেশি থাকতে পারে না প্রতিটি খেলোয়াড়ের সাধারণত আর কিছু থাকে না 2 * রুকস (আর / আর) এর চেয়ে
প্রতিটি প্লেয়ারের সাধারণত 2 * নাইটের বেশি (এন / এন)
প্রতিটি খেলোয়াড়ের সাধারণত 2 * বিশপ (বি / বি) বেশি থাকে না
* একজন খেলোয়াড়ের পক্ষে এটি বৈধ ' এই চার টুকরো যে কোনও একটি গিরি প্রচার করুন।
প্রতিটি খেলোয়াড়ের জন্য মোট प्याদা, রানী, রুকস, নাইট এবং বিশপ মোট 15 বছরের বেশি হবে না
খণ্ড স্কোয়ার সহ মোট টুকরো সংখ্যা (সংখ্যা দ্বারা চিহ্নিত) সর্বদা প্রতিটি র্যাঙ্কের জন্য ঠিক 8 পর্যন্ত যোগ করা উচিত। এবং সর্বদা 8 টি র্যাঙ্ক থাকা উচিত, একটি ফরোয়ার্ড স্ল্যাশ দ্বারা পৃথক।
আপনি যে বিষয়গুলিকে উপেক্ষা করতে পারেন
চিহ্নিত অবস্থানে প্রবেশ করা সম্ভব কিনা বা পজিশন আইনী হলে কেবল সেই টুকরা প্রদত্ত পরিমাণে থাকতে পারে তা নিয়ে আপনার নিজেকে চিন্তা করার দরকার নেই।
আপনি এফএন স্ট্রিংয়ের আরও জটিলতা যেমন প্লেয়ার টার্ন, ক্যাসলিং রাইটস এবং এন পাসেন্টকে এড়িয়ে যেতে পারেন।
এটি কোড গল্ফ। বাইটস মধ্যে সংক্ষিপ্ততম প্রোগ্রাম। সাধারণ লফোলস এবং বিধি প্রযোজ্য।
পরীক্ষার কেস
ইনপুট rnbqkbnr / pppppppp / 8/8/8/8 / পিপিপিপিপিপিপিপি / আরএনবিকিউবিএনআর
আউটপুট সত্য
ইনপুট 2br2k1 / 1p2n1q1 / p2p2p1 / P1bP1pNp / 1BP2PnP / 1Q1B2P1 / 8 / 3NR2K
আউটপুট সত্য
ইনপুট r2r2k1 / p3q2p / ppR3pr / rP4bp / 3p4 / 5B1P / P4PP1 / 3Q1RK1
আউটপুট মিথ্যা
(কালোতে 7 টি পদ্ম এবং 4 রুক রয়েছে - অসম্ভব)
ইনপুট 6 কে 1 / পিপি 3 পিপি / 4 এমপি / 2 পি 3 বি 1 / বিপিপি 3 পি 1/3 কে 4 / পি 3 কি 1 কি 1
আউটপুট মিথ্যা (মাত্র 7 টি পদ)
ইনপুট 3r1rk1 / 1pp1bpp1 / 6p1 / pP1npqPn / 8 / 4N2P / P2PP3 / 1B2BP2 / আর 2 কিউ 2 আর
আউটপুট মিথ্যা (9 পদ)
ইনপুট 5n1k / 1p3r1qp / p3p3 / 2p1N2Q / 2P1R3 / 2P5 / P2r1PP1 / 4R1K1
আউটপুট মিথ্যা (দ্বিতীয় স্তরের 9 স্কোয়ার / টুকরা রয়েছে)
ইনপুট rnbqkbnr / pppppppp / 8/35/8/8 / পিপিপিপিপিপিপিপি / আরএনবিকিউবিএনআর
আউটপুট
এই মামলাটি স্পষ্ট করার জন্য ফেয়ারসাম এবং আর্নল্ডকে সত্য ধন্যবাদ (3 + 5 = 8)
FEN কি?
দাবা বোর্ডে টুকরোগুলির অবস্থান রেকর্ড করার জন্য FEN একটি মানক স্বরলিপি।
চিত্র ক্রেডিট http://www.chessgames.com
* It is legal for a player to 'promote' a pawn to any of these four pieces.
প্লেয়ারের ক্ষতিপূরণে কমতি কমার কারণে প্লেয়ারের 9 টি রানী থাকতে পারে। এই টুকরোগুলির অবস্থান বৈধ বা অবৈধ, কেবল টুকরোগুলির সংখ্যা সম্পর্কে আপনার চিন্তা করার দরকার নেই।
35
8 টি ফাঁকা স্কোয়ার বর্ণনা করার জন্য এটি একটি অস্বাভাবিক উপায়।