ভূমিকা
চিয়াং দাবা নামে পরিচিত জিয়াংকি খেলাটি দাবা জাতীয় খেলা চীন, ভিয়েতনাম, তাইওয়ান এবং অন্যান্য পূর্ব এশীয় দেশগুলিতে জনপ্রিয়। জিয়াংকি'র দুই পক্ষের রঙগুলি লাল এবং কালো। জিয়াংকি-তে সাতটি টুকরো রয়েছে: জেনারেল ( G
), উপদেষ্টা ( A
), হাতি ( E
), ঘোড়া ( H
), রথ ( R
), কামান ( C
) এবং সৈনিক ( S
)। এই চ্যালেঞ্জের উদ্দেশ্যে, বড় হাতের টুকরোগুলিকে লাল এবং লোয়ারকেস টুকরা কালো বলে মনে করা হয়। এই টুকরোগুলির বেশিরভাগ পশ্চিমা দাবাতে মোটামুটি সমান, তবে একটি সম্পূর্ণ অনন্য টুকরা রয়েছে: কামান।
কামান দাবা একটি দাড়কাক বা xiangqi একটি রথ (হয় X অথবা ওয়াই অক্ষ উপর স্পেস যে কোন সংখ্যার চলন্ত) -এর মত প্যাচসমূহ, কিন্তু এই পথ আক্রমণ করতে পারবে না। পরিবর্তে, এটি কোনও রঙের এক বন্ধু (বন্ধু বা শত্রু) এর উপরে X বা Y অক্ষ (যেভাবে এটি সরানো হয়) দিয়ে লাফিয়ে এবং বিপরীত রঙের টুকরোয় অবতরণ করে আক্রমণ করে, যা এটি পরে ধারণ করে। নোট করুন যে সমস্ত দাবা এবং জিয়াংকি টুকরাগুলির মতো, কামানগুলি তাদের নিজস্ব রঙের টুকরো ক্যাপচার করতে পারে না।
উদাহরণস্বরূপ, নিম্নলিখিত চিত্রটিতে, কামান ( C
) যে স্থানে যেতে পারে সেগুলি দিয়ে চিহ্নিত করা হয়েছে *
এবং যেখানে এটি লাফিয়ে ক্যাপচার করতে পারে সেগুলি চিহ্নিত করা হয়েছে X
, ধরে নেওয়া হয়েছে যে সেখানে একটি কালো / ছোট হাতের অংশ রয়েছে piece
....X....
.........
.........
....h....
....*....
****C**aX
....E....
....X....
....g....
....R....
চ্যালেঞ্জ
একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি জিয়াংকি বোর্ড এবং সেই বোর্ডে একটি কামানের স্থানাঙ্ক হিসাবে ইনপুট হিসাবে দেওয়া হয়, যে স্থানাঙ্কগুলির তোপটি চলতে বা লাফাতে পারে তার একটি তালিকা দেয় out
সমস্ত I / O এর ফর্ম্যাটটি নমনীয়।
Xiangqi বোর্ডের জন্য স্বীকারযোগ্য বিন্যাসের একটি newline বিভাজিত স্ট্রিং, স্ট্রিং একটি তালিকা, বা নেই অন্য কোন বিভাজক সঙ্গে একটি স্ট্রিং অন্তর্ভুক্ত aceghrsACEGHRS.
। আপনি ধরে নিতে পারেন বোর্ডটি সর্বদা 9x10, একটি জিয়াংকি বোর্ডের আকারের হবে।
বোর্ডের বিষয়বস্তুগুলিতে বোর্ডের .
খালি পয়েন্টগুলি উপস্থাপন করে এবং টুকরোগুলি উপস্থাপনকারী অক্ষরগুলি অনেকগুলি পিরিয়ড ( ) নিয়ে গঠিত হবে । টুকরা থেকে চরিত্রের ম্যাপিংটি নিম্নরূপ:
A -> advisor
C -> cannon
E -> elephant
G -> general
H -> horse
R -> chariot
S -> soldier
বড় হাতের অক্ষরগুলি লাল টুকরোকে উপস্থাপন করে এবং ছোট হাতের অক্ষরগুলি কালো টুকরা উপস্থাপন করে। এখানে তালিকাভুক্ত নয় এমন অক্ষর (যেমন অন্তর্ভুক্ত নয় aceghrsACEGHRS.
) বোর্ডে উপস্থিত হবে না।
ইনপুট স্থানাঙ্কের বিন্যাসটি নমনীয় এবং আউটপুট স্থানাঙ্কগুলির বিন্যাসের সাথে মেলে না। এটি দুটি পূর্ণসংখ্যার উপাদানগুলির একটি তালিকা হতে পারে, একটি 2-টিউপল, কোনও বিভাজকের সাথে দুটি সংখ্যা বা দুটি অক্ষর উদাহরণস্বরূপ। এটি 0-ইনডেক্সড বা 1-ইনডেক্সেডও হতে পারে। আপনি ধরে নিতে পারেন বোর্ডে স্থানাঙ্কটি সর্বদা একটি কামানের ( C
বা c
) সমাধান করবে ।
যে স্থানাঙ্কগুলিতে কামানটি লাফিয়ে লাফিয়ে যেতে পারে সেগুলি আউটপুটে একই তালিকায় উপস্থিত থাকতে হবে; উভয় মধ্যে পার্থক্য প্রয়োজন হয় না। যে কোনও পৃথক আউটপুট স্থানাঙ্কগুলির জন্য গ্রহণযোগ্য ফর্ম্যাটগুলি ইনপুট কর্ডের মতো those স্থানাঙ্কগুলি নিউলাইন-বিচ্ছিন্ন, তালিকা হিসাবে আউটপুট বা অন্য কোনও উপস্থাপনা হতে পারে। কোন নির্দিষ্ট আদেশ প্রয়োজন; অর্ডার এমনকি ডিটারমিনিস্টিক হতে হবে না।
নোট করুন যে কামানের একই রঙের (কেস) টুকরোতে লাফানো আইনী নয় এবং এভাবে আউটপুটে উপস্থিত হতে পারে না।
পরীক্ষার মামলা
মনে রাখবেন যে পরীক্ষার সমস্ত ক্ষেত্রেই সম্ভব জিয়াংকিউ অবস্থান নয়।
Input board
Input coordinate (0-indexed)
List of output coordinates
.........
.........
.........
.........
.........
....C....
.........
.........
.........
.........
(4, 5)
[(0, 5), (1, 5), (2, 5), (3, 5), (5, 5), (6, 5), (7, 5), (8, 5), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4), (4, 6), (4, 7), (4, 8), (4, 9)]
.........
.....G...
.........
.........
.....e...
.........
.........
h..R.c..S
.....a...
.........
(5, 7)
[(4, 7), (6, 7), (7, 7), (5, 6), (5, 5), (5, 1)]
..s......
..A...e..
.........
EACCcsh.H
..r......
.....S...
......s..
....C....
..g......
(2, 3)
[(2, 0), (2, 2), (4, 3), (2, 9)]
rheagaehr
.........
.c.....c.
s.s.s.s.s
.........
.........
S.S.S.S.S
.C.....C.
.........
RHEAGAEHR
(7, 7)
[(2, 7), (3, 7), (4, 7), (5, 7), (6, 7), (8, 7), (7, 0), (7, 3), (7, 4), (7, 5), (7, 6), (7, 8)]
স্কোরিং
এই কোড-গলফ, তাই সংক্ষিপ্ত উত্তর (বাইটে) জেতে। শুভ গল্ফিং!