কিউব সমতল করুন


17

আপনি কি কখনও 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

কোনও সমস্যা নেই :) বিটিডব্লিউ সত্যিই দুর্দান্ত চ্যালেঞ্জ! :)
হাইপারনিউট্রিনো

@ হাইপার নিউট্রিনো এখন অনুগ্রহ শুরু করেছেন বলে আমি দোষী বোধ করছি। এটি এমন একটি প্রকল্প যা আমি কাজ করছি তবে হাল ছেড়ে দিয়ে পোস্ট করার সিদ্ধান্ত নিয়েছিলাম। সুতরাং আমি কেবল আমার পুরানো সমাধানটি পোলিশ করতে পারি এবং এটি অনুগ্রহের জন্য পোস্ট করতে পারি! সপ্তাহের শেষে কোনও উত্তর না থাকলে আমি কেবল
এটিই করবো

@ র্যান্ডম ব্যবহারকারী এগিয়ে যান এবং এখনই একটি উত্তর পোস্ট করুন, লোকেরা যখন মারধর করার কিছু আছে তখন তারা উত্তর দিতে আরও ঝুঁকবে। এবং দোষী না খাওয়ান, এটি 5 টি উত্তর উত্তরের সমতুল্য।
প্রোগ্রামার

@ প্রোগ্রামার ৫০০০ এটি শেষ হয়নি এবং গল্ফডের কাছাকাছি কোন জায়গা নেই তবে কয়েকদিনের মধ্যেই আমার এটি করা উচিত
সিয়ার্ড কইনারিংহিংহ

@ র্যান্ডম ইউজার ডের্প
স্টিফেন

উত্তর:


8

পাইথন 3 , 1558 1553 1419 1417 1347 1258 বাইট

L=list
M=map
Q=len
m=~0
G,H,J,K,Y,I=[0,1],[0,m],[1,0],[m,0],[m,1],[1,m]
def U(p,c,u,a):
 global F;F+=c*a
 try:u=[G,J,I,I,Y,K,H][[[0,h],[0,w],[h,w],[h,e],[h,0],[l,0],[l,e]].index(p)]
 except:0
 p=L(M(sum,zip(p,u)));return F,p,u
def f(a):
 global w,h,e,l,F;a=L(M(L,a.split('\n')));p=0,0
 for(i)in range(Q(a[0])):
  if' '<a[0][i]:p=0,~-i,;break
 c,P,F,w,h,e,l,t=a[p[0]][p[1]],'><^v/','',~-Q(a[0]),Q(a)//2,~-Q(a[m]),~-Q(a),{'v':J,'^':K,'>':G,'<':H}
 C,u,s,r,E=[[0,w],[0,h],[h,w],[h,e],[h,0],[l,0],[l,e]],[G,t.get(c,I)][c in P],0,1,[[0,w-1],[1,w-1],[1,w],[~-h,1],[h,1],[e-2,-~e],[e-2,e]]
 while'¶'!=c:
  k=p,c,u
  g=L(M(sum,zip(p,u)))
  if s:s=0;u=u[::m]
  if(c)in' ,':F,p,u=U(*k,0)
  elif(c)in P:
   if(p)in C:u=[t[c],[Y,I][p[1]==w]][c=='/'];p=g
   elif(p)in E:F,p,u,s=[(F,g,t[c],1),U(*k,1)+s][c=='/']
   else:
    o=t.get(c,u)
    try:n=a[p[0]+o[0]][p[1]+o[1]];u=[u,o][(' '<n)*~(p[0]<1<'^'==c)]
    except:0
    if u!=t.get(c):F,p,u=U(*k,1)
    else:p=g
  elif'?'==c:
   F+=c*-~(p in C!=F[m]!=c);r=~r
   if~r<1and(p)in[[0,w],[h,e],[h,0],[l,e]]:u=[[I,H][u!=G],[H,J][u!=K],[G,J][u!=K],[K,Y][u!=I]][[[0,w],[h,e],[h,0],[l,e]].index(p)];p=L(M(sum,zip(p,u)))
   elif-1>r:F,p,u=U(*k,0)
  else:F,p,u=U(*k,1)
  c=a[p[0]][p[1]]
 for(c)in'?, ':F=F.replace(c,'')
 return F

এটি অনলাইন চেষ্টা করুন!

@ সগিক্স্পকে 5 টি বাইট সংরক্ষণ করা হয়েছে

আড্ডায় @ মিস্টার এক্সকোডার এবং @ টোটালিহিউম্যানকে 20 বাইট সংরক্ষণ করা হয়েছে

বিভিন্ন গল্ফিং ট্রিকসের জন্য 128 বাইট সংরক্ষণ করা হয়েছে

@ জোনাথানফ্রেচের জন্য by২ বাইট সংরক্ষণ করা হয়েছে

@ মিঃ এক্সকোডারকে ধন্যবাদ দিয়ে আরও 89 টি বাইট সংরক্ষণ করা হয়েছে


দুর্দান্ত গল্ফিং, যদিও আপনি কিছুটি মিস করেছেন not(p[0] == 0), এটি ঠিক হতে পারে p[0]!=0
sagiksp

আপনি কেবলমাত্র একক বাইট দিয়ে ইনডেন্টেশন স্তরগুলি পৃথক করে অনেকগুলি বাইট কাটতে পারেন
ইউরিয়েল

@Uriel ট্যাব আসলে যেতে spaceতারপর \t(ট্যাব) তাহলে space\tইত্যাদি তার ঠিক ভাবে দঃপূঃ ফরম্যাটের পোস্ট
coinheringaahing caird

@ আইল্কমিডগ ওহ দুর্দান্ত
উরিল

কেন একেবারে ইনডেন্ট করবেন?
শেগি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.