জগারব প্রস্তাবিত একটি ধারণার ভিত্তিতে ।
একটি স্পেসশিপ নিয়মিত 3 ডি গ্রিডের আশেপাশে চলছে। গ্রিডের ঘরগুলি ডান-হাত সমন্বয় ব্যবস্থা, জাইজেড -এ পূর্ণসংখ্যার সাথে সূচিযুক্ত হয় । স্পেসশিপটি ইতিবাচক x অক্ষ বরাবর পয়েন্ট করে ধীরে ধীরে z অক্ষটি উপরের দিকে নির্দেশ করে শুরুতে শুরু হয় ।
স্পেসশিপটি নন-খালি চলাচলের ক্রম দ্বারা সংজ্ঞায়িত একটি ট্র্যাজেক্টোরির সাথে উড়ে যাবে। প্রতিটি চলন হয় হয় F
(অগ্রগামী) যা স্পেসশিপটি একটি কক্ষকে তার মুখের দিকে বা ছয়টি আবর্তনের একটির দিকে নিয়ে যায় UDLRlr
। এগুলি পিচ, ইয়াও এবং রোলের সাথে মিলে যায়:
চিত্রটি তৈরি করার জন্য জগারবকে ধন্যবাদ।
U
পি এবংD
নিজস্ব স্পেসশিপটির পিচটি 90 ডিগ্রি (যেখানে দিকটি স্পেসশিপের নাকের চলাচলের সাথে মিলে যায়) দ্বারা পরিবর্তন করে।L
eft এবং ightR
90 ডিগ্রি দ্বারা স্পেসশিপের ইয়াবা পরিবর্তন করে। এগুলি কেবল নিয়মিত বাম এবং ডানদিকে ঘুরছে।l
eft এবং ight হ'লr
90 ডিগ্রি রোলিং মুভমেন্ট, যেখানে দিকটি নির্দেশ করে যে কোন ডানা নীচের দিকে চলে moves
নোট করুন যে এগুলি সর্বদা স্পেসশিপের তুলনায় ব্যাখ্যা করা উচিত যাতে প্রাসঙ্গিক অক্ষগুলি এটির সাথে ঘোরানো হয়।
গাণিতিক ভাষায়, স্পেসশিপটি প্রথমে ভেক্টর (0, 0, 0)
বরাবর পয়েন্ট করে উপরের দিকে নির্দেশ করে অবস্থানে থাকে । আবর্তনগুলি সমন্বিত সিস্টেমে প্রয়োগ করা নিম্নলিখিত ম্যাট্রিকগুলির সাথে সামঞ্জস্য করে:(1, 0, 0)
(0, 0, 1)
U = ( 0 0 -1 D = ( 0 0 1
0 1 0 0 1 0
1 0 0 ) -1 0 0 )
L = ( 0 -1 0 R = ( 0 1 0
1 0 0 -1 0 0
0 0 1 ) 0 0 1 )
l = ( 1 0 0 r = ( 1 0 0
0 0 1 0 0 -1
0 -1 0 ) 0 1 0 )
আপনার তিনটি পূর্ণসংখ্যার x , y , z হিসাবে স্পেসশিপের চূড়ান্ত অবস্থানটি আউটপুট করা উচিত । আউটপুট তিনটি পৃথক পূর্ণসংখ্যা বা একটি তালিকা বা স্ট্রিং সেগুলি থাকতে পারে। যতক্ষণ আপনি এটি নির্দিষ্ট করেন ততক্ষণ এগুলি যে কোনও ধারাবাহিক ক্রমে থাকতে পারে।
আপনি STDIN (বা নিকটতম বিকল্প), কমান্ড-লাইন আর্গুমেন্ট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুট নিয়ে কোনও প্রোগ্রাম বা ফাংশন লিখতে এবং STDOUT (বা নিকটতম বিকল্প), ফাংশন রিটার্ন মান বা ফাংশন (আউট) প্যারামিটারের মাধ্যমে ফলাফল আউটপুট করতে পারেন।
স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য।
পরীক্ষার কেস
F => (1, 0, 0)
FDDF => (0, 0, 0)
FDDDF => (1, 0, 1)
LrDDlURRrr => (0, 0, 0)
UFLrRFLRLR => (1, 0, 1)
FFrlFULULF => (3, 0, -1)
LLFRLFDFFD => (-2, 0, -2)
FrrLFLFrDLRFrLLFrFrRRFFFLRlFFLFFRFFLFlFFFlUFDFDrFF => (1, 5, 7)
FUrRLDDlUDDlFlFFFDFrDrLrlUUrFlFFllRLlLlFFLrUFlRlFF => (8, 2, 2)
FFLrlFLRFFFRFrFFFRFFRrFFFDDLFFURlrRFFFlrRFFlDlFFFU => (1, 2, -2)
FLULFLFDURDUFFFLUlFlUFLFRrlDRFFFLFUFrFllFULUFFDRFF => (-3, -2, -3)
কাজ করেছেন উদাহরণ
এখানে UFLrRFLRLR
পরীক্ষার মামলার মধ্যবর্তী পদক্ষেপ রয়েছে । এখানে, সমস্ত মধ্যবর্তী স্থানাঙ্ক এবং দিকনির্দেশক ভেক্টরকে প্রাথমিক, বৈশ্বিক স্থানাঙ্ক ব্যবস্থায় (স্পেসশিপের এক স্থানীয়ের বিপরীতে) দেওয়া হয়:
Cmd. Position Forward Up
( 0, 0, 0) ( 1, 0, 0) ( 0, 0, 1)
U ( 0, 0, 0) ( 0, 0, 1) (-1, 0, 0)
F ( 0, 0, 1) ( 0, 0, 1) (-1, 0, 0)
L ( 0, 0, 1) ( 0, 1, 0) (-1, 0, 0)
r ( 0, 0, 1) ( 0, 1, 0) ( 0, 0, 1)
R ( 0, 0, 1) ( 1, 0, 0) ( 0, 0, 1)
F ( 1, 0, 1) ( 1, 0, 0) ( 0, 0, 1)
L ( 1, 0, 1) ( 0, 1, 0) ( 0, 0, 1)
R ( 1, 0, 1) ( 1, 0, 0) ( 0, 0, 1)
L ( 1, 0, 1) ( 0, 1, 0) ( 0, 0, 1)
R ( 1, 0, 1) ( 1, 0, 0) ( 0, 0, 1)