আপনি কি কখনও 3 ডি আকারের দিকে তাকান এবং ভাবেন যে আমাদের 2 টি অনেক মাত্রা রয়েছে। সুতরাং আসুন 3 ডি 1D করা যাক! (দেখুন আমি সেখানে কি করেছি?)
কার্য
কিউবের 2D উপস্থাপনা দেওয়া হয়েছে (নীচে লেআউট), পয়েন্টারগুলির উপর ভিত্তি করে এটি একটি একক স্ট্রিংয়ে সমতল করুন।
ঘনক্ষেত্র
এটি কোন-অপস ( ,
) এবং কোণে পয়েন্টার ( ) দ্বারা পূর্ণ কিউবের বিন্যাস <>v^/
। ন্যাভিগেশন পয়েন্টার (এনপি) যেখানে প্রদর্শিত হবে সেখানে প্রোগ্রাম শুরু করে।
| NP begins here, moving right.
V
>,,,,,,,,,,,,,,,,,,v
, ,,
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
/,,,,,,,,,,,,,,,,,,/ /
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
, ,,
^,,,,,,,,,,,,,,,,,,<
এনপি শুরু থেকে ডানদিকে চলতে থাকে যতক্ষণ না এটি কোনও কোণে মিলিত হয়। প্রতিটি কোণার একটি ডিফল্ট দিক থাকে যা কোণে কোনও পয়েন্টার দ্বারা ওভাররাইড না করা পর্যন্ত এনপিটিকে একটি নতুন দিকে নির্দেশ করবে। সেগুলি উপরের চিত্রের উপর প্রদর্শিত হয়। প্রোগ্রামটির পয়েন্টারগুলি হ'ল v^<>/
( /
বিন্দুগুলি এটি নীচে বা উপরে হয়, বিন্যাসের কারণে দুজনের মধ্যে কখনও কোনও বিভ্রান্তি ঘটবে না)
¶
প্রতীকটি পৌঁছালে এনপি চলাচল বন্ধ করে দেয় (হ্যাঁ আমি জানি এটি একটি বহু-বাইট চরিত্র, এটির সাথে ডিল করুন)। প্রতিটি অক্ষর এটির উপরে চলে যায় পয়েন্টার, নো-অপ্ট ( ,
) এবং ¶
প্রতীক ব্যতীত চূড়ান্ত আউটপুট স্ট্রিংয়ের সাথে যুক্ত হয় ।
ইনপুট
ইনপুট একটি মাল্টি-লাইন স্ট্রিংটি লেআউট মিলে যায় হতে হবে ঘনক্ষেত্র অ হোয়াইটস্পেস সীমার মধ্যে কোন অক্ষর দিয়ে প্রতিস্থাপিত অক্ষর 0x21
থেকে 0x7E
এবং অন্তত ফাইলের শেষে এক উদাহরণ হিসেবে বলা যায়।
আপনি ইনপুট হিসাবে নিতে পারেন:
- একটি মাল্টলাইন স্ট্রিং
- স্ট্রিংগুলির তালিকা যেখানে প্রতিটি লাইন তালিকার একটি নতুন উপাদান
- স্ট্রিংগুলির একটি 2D তালিকা যেখানে প্রতিটি লাইন একটি তালিকায় বিভক্ত হয়
আউটপুট
কিউবটি একক লাইনের স্ট্রিংয়ের নিচে চ্যাপ্টা।
শর্তাধীন পয়েন্টার
এনপির একটি বুলিয়ান মান রয়েছে যা "শর্তসাপেক্ষ" পয়েন্টার নামক কিছুতে ব্যবহৃত হয় যা শুরু হয় true
।
"শর্তসাপেক্ষ" পয়েন্টার ( ?
) হ'ল একটি পয়েন্টার যা NP এর মানটিকে true
এবং false
প্রতিবার এটি ব্যবহার করার সময় বিকল্প করবে । 3 টি ট্র্যাক (3-পয়েন্ট কোণে) মিলিত হয় এমন কোণগুলিতে শুধুমাত্র শর্তযুক্ত পয়েন্টারগুলি কার্যকর হয়। true
এনপি শর্তসাপেক্ষ পয়েন্টারে পৌঁছানোর সময় যদি মানটি হয় তবে এনপি কিউব চিত্রের ডিফল্ট দিকে চলে যায় এবং নির্দেশিত হওয়ার পরে এনপি মান টগল হয়। সুতরাং, যদি এটি চালু থাকে false
, এনপি অ-ডিফল্ট দিক অনুসরণ করে।
এনপি কোনও শর্তসাপেক্ষে এগিয়ে যায় এমন কোনও উদাহরণ কখনই আসবে না এবং ডিফল্ট দিকটি সবেমাত্র যে দিক থেকে এসেছিল সে দিকটি। কল্পনা করুন যে এটি সামনের মুখের বাম কোণ এবং এনপি মানটি বর্তমানে true
:
NP direction
/
,
,
,,,?
,
,
এটি কখনই ঘটবে না কারণ ডিফল্ট দিকনির্দেশটি এটি কেমন ছিল তা ফিরিয়ে দেয়।
শর্তসাপেক্ষ নির্দেশক যদি 3-পয়েন্ট কোণে থাকে:
- এটি চূড়ান্ত স্ট্রিং যোগ করা হয়নি
- এনপি পরিচালিত হওয়ার পরে
true
এবংfalse
পরে এনপি মান টগল করা হয় । - যদি এনপি মান হয়
true
, তবে এনপি ডিফল্ট দিকটিতে পুনঃনির্দেশিত হয় । অন্যথায়, এটি অ-ডিফল্ট দিকনির্দেশিত হয়।
যদি এটি কোনও ট্র্যাক বা 2-পয়েন্ট কোণে থাকে:
- এটি চূড়ান্ত স্ট্রিং যুক্ত করা হয়
- মান হয় টগল
- আইপি নির্দেশিত নয়
কিছু দেখার জন্য
যদি কোনও পয়েন্টার একটি ট্র্যাকের দিকে থাকে এবং এটি ফাঁকা স্থানগুলিতে নির্দেশ না করে , এনপি নতুন ট্র্যাকের দিকে নির্দেশিত হয়, পরবর্তী অক্ষরটিকে চূড়ান্ত স্ট্রিংয়ে যুক্ত করে এবং ডানদিকে 90 ডিগ্রি দ্বারা এনপি ঘোরান।
abcd
>e
g f
/
NP direction
সমতল হতে হবে
(...) gef (...)
না
(...) g>def (...)
একটি /
পয়েন্টার এই পরিস্থিতিতে এনপি পুনঃনির্দেশ দেয় না কারণ এটি কোনও স্পেসে পুনর্নির্দেশ করতে পারে
f
e
> ab/d
হবে ab/def
বিধি
- কিউবের প্রস্থ, উচ্চতা এবং গভীরতা পরিবর্তন হতে পারে
- ঘনক্ষেত্রের উচ্চতা এবং গভীরতা সর্বদা সমান এবং প্রস্থের অর্ধেক হবে, সুতরাং প্রস্থ সর্বদা সমান হবে।
- প্রস্থটি (সমেত) 6 এবং 60 এর মধ্যে হবে।
- সর্বদা একটি ইওএফ (
¶
) থাকবে যা এনপি দ্বারা পৌঁছানো যায়। যেমন কিউবে কখনও এরকম কিছু থাকবে না:<¶>
এনপি কখনই কিউবে পৌঁছাতে সক্ষম হবে না। - কিউবের ট্র্যাকগুলিতে কোনও স্থান সন্নিবেশ করা যায় না, চূড়ান্ত স্ট্রিংটিতে কখনও কোনও স্থান থাকা উচিত নয়।
- যদি কোনও একটি ট্র্যাকের মধ্যে একটি পয়েন্টার স্থাপন করা হয় (কোনও কোণে নয়) এবং এটি এনপিকে স্পেসে পরিচালিত করে, এনপি স্থির থাকে এবং অক্ষরটি চূড়ান্ত স্ট্রিংয়ে যুক্ত হয়।
- তবে, যদি পয়েন্টারটি এটি ট্র্যাকের উপরে রাখে তবে এনপি নির্দেশিত হয় এবং পয়েন্টার চরিত্রটি যুক্ত হয় না
,
চূড়ান্ত স্ট্রিং -এ নো-অপ্স ( ) যুক্ত না হওয়ায় চূড়ান্ত স্ট্রিংটিতে এতে কোনওটি থাকা উচিত নয়,
।- আপনি ধরে নিতে পারেন যে ইনপুটটি সঠিক হবে।
- এটি একটি কোড-গল্ফ তাই বাইট জেতে সংক্ষিপ্ততম কোড !
উদাহরণ
Input
Output
-----
Input
Output
abcdef
¶ ,g
q,,,,, h
p ,i
onmlkj
abcdefghijklmnopq
-----
>,,,,,,,,,,,,,,,,,,v
¶ ,,
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
/,,,,,,,,,,,,,,,,,,/ /
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
, , ,
, ,,
^,,,,,,,,,,,,,,,,,,<
nothing
-----
Mr/~gm,Vc!r,0cbmPC@Zg9jb)7=m^ppwN*Nuk){r
c ¶Z
J ; #
e j 8
] b "
# ` 4
h $ -
p n 2
L S P
B ; R
@ J D
E N <
O \ p
B y =
| 9 ;
T x [
6 o k
! L =
E K ~
>mjmz6,?A*Q)^.a:IpGP"^bK}DSXL)2F!BV|"m6/ T
a A 6
5 = p
1 i R
4 / ?
- Z (
1 " `
' 0 {
N p M
O * K
Z J $
" ( d
4 + o
f U g
i v b
U ~ L
U M h
g ^ D
2 (g
5]u*n<Ldn</9/XQyC444Va\m}W3Rf,rp"a@5cZB0
(Newlines added for readability)
Mr/~gmVc!r0cbmPC@Zg9jb)7=m^ppwN*Nuk){rZ#8"4-2PRD<p=;[k=~T
6pR?(`{MK$dogbLhDg0BZc5@a"prfR3W}m\aV444CyQX/9/ndLn*u]52g
UUif4"ZON'1-415amjmz6?A*Q)^.a:IpGP"^bK}DSXL)2F!BV|"m6KLox9
y\NJ;Sn$`bj;
-----
NEWYORKCITYBABY!
¶ ,,
, , ,
, , ,
, , ,
, , ,
, , ,
,,,,,,,,,,,,,,,, ,
, , ,
, , ,
, , ,
, , ,
, , ,
, ,,
,,,,,,,,,,,,,,,,
NEWYORKCITYBABY!
-----
/{Y!_(=-)s<e!D^<+<+1o30d>QOx9kfu?3X2I:8],t>Ye~,Y9/6;u@
] >Y
! 1 )
c 7 8
^ K &
f K 9
M } O
s _ ?
h N e
? u ,
g = s
> Q M
a 0 9
b c (
h { c
[ m *
I R %
K E >
u 5 n
W f ]
} | y
F E q
) < ;
X L S
F M |
u * Z
>XZpJ=L`+8ONRk?T7$qVr6-U^f14{>>ABEEP`Mjx&T[/&o*F=*qq{/ e
¶ < ^
+ P C
. x m
; ^ >
y 4 b
5 v `
Q B c
2 e r
a x I
3 1 Y
Q v `
w ; o
* S h
E b S
r 6 P
M ` l
% M A
- ` "
j \ s
} ~ J
$ h c
% p O
I Z Z
] N E
` 3<
x^}}SI"-a3[%7U5EV}"UM?Aov|E_yjrMt<HAQ@}QAABO&y//R0$\2p
(Newlines added for readability)
]!c^fMsh?g>abh[IKuW}F)XFuXZpJ=L`+8ONRk?T7$qVr6-U^f14{ABEE
P`Mjx&T[/&o*F=*qq{*ML<E|f5ERm{c0Q=uN_}KK71Y)8&9O?esM9(c*%
>n]yq;S|Ze^Cm>b`crIY`ohSPlA"sJcOZE3NZph~\`M`6bS;;Sb6`M`\~
hpZN3p2\$0R//y&OBAAQ}@QAHtMrjy_E|voA?MU"}VE5U7%[3a-"IS}}^
x`]I%$}j-%MrE*wQ3a2Q5y;.+
-----
%:biv+|?
¶ \+
T c ,
?{yX<//v "
i [ @
Q Tj
U8sUNl.?
%:biv+|+"@jT[[T.lNUs8UQi{yXXy{T
-----
FCf2hoYA)&*j
F ¶#
3 p (
& ~ w
; * t
39Hq{F'MmmO/ 9
5 \ D
- | }
8 c l
a 25
GKa"<0/7MG[?
FCf2hoYA)&*j#(wt9D}l5[GM7/0"aKGa8-53;&3FFCf2hoYA)&*j#(wt9D}l52c|\*~p
-----
#S^[WNk3;9v;e2\h!@CI#Il?
G g`
$ 2 \
V 9 S
m Y b
6 ) *
U ' V
[ g V
I 8 X
< T U
K ¶ C
?ozMt+xxxxutvQgkx&D9I/<v '
w K p
V y h
( R y
e P i
] ! x
Z / s
y w '
# X 4
c ~ W
Z E,
~IdXPYS.Lc49lC~vjULUBv.?
(Newlines added for readability)
#S^[WNk3;9v;e2\h!@CI#Il`\Sb*VVXUC'phyixs'4WE~Xw/!PRyKKyRP!/wX~E
.vBULUjv~Cl94cL.SYPXdI~Zc#yZ]e(VwozMt+xxxxutvQgkx&D9I//I9D&xkgQ
vtuxxxx+tMzoK<I[U6mV$G#S^[WNk3;9v;e2\h!@CI#Ilg29Y)'g8T