ব্রিজ এবং টানেল


32

আপনি নতুন একটি ফ্রিওয়ে তৈরির জন্য দায়বদ্ধ। যাইহোক, এটি পাহাড়ি জমি দিয়ে যায় এবং অতএব অসংখ্য সেতু এবং টানেলগুলির প্রয়োজন। ফ্রিওয়ে নিজেই একক স্তরে থাকা উচিত।

ইনপুট

নীচে যেমন স্ট্যান্ডার্ড ইনপুটটিতে পাহাড়গুলি দেখতে কেমন তার একটি মোটামুটি ASCII বিবরণ দেওয়া হবে:

                         /\                                
                        /  \                               
                   /\  /    \                              
            /\    /  \/      \                             
           /  \  /            \                  /\        
          /    \/              \                /  \       
_        /                      \        /\    /    \      
 \      /                        \      /  \  /      \  /\ 
  \    /                          \    /    \/        \/  \
   \  /                            \  /                    
    \/                              \/                     

_প্রথম কলাম চিহ্ন মধ্যে শুরুতে এবং রাস্তার স্তর। পর্বতশ্রেণীটি সামঞ্জস্যপূর্ণ এবং শেষ বিভাগটি যদি একটি সেতু হয়ে যায় তবে এর একটি এমনকি সংখ্যক অক্ষর রয়েছে।

আপনি ধরে নিতে পারেন যে ইনপুটটির একটি লাইন কখনও কখনও 100 টি অক্ষরের বেশি হয় না এবং 15 টির বেশি লাইন থাকে না। প্রতিটি লাইনের সমান দৈর্ঘ্য রয়েছে যা সম্ভবত শেষে স্পেস প্যাডযুক্ত। রাস্তাটি কখনই কোনও পর্বতের মধ্যে বা সেতু হিসাবে শুরু হয় না। ইনপুটটিতে রাস্তার টাইল অনুসরণ করার পরে প্রথম জিনিসটি হ'ল নীচে বা উপরে।

আউটপুট

আউটপুট একই পর্বতশ্রেণী, কেবল এখানে এখন একটি রাস্তা যেখানে আগে কেবল তার শুরু ছিল। আউটপুট মান আউটপুট দেওয়া হয়।

এর জন্য রয়েছে অসংখ্য বিধি:

  1. রাস্তাটি অবশ্যই ইনপুটটিতে নির্দেশিত স্থানে শুরু করতে হবে এবং একই স্তরে থাকবে। এটি আরও সহজ করার জন্য, আমরা বেশ কয়েকটি প্রাক-রাস্তার টাইল প্রস্তুত করেছি যা দেখতে দেখতে এটি _:

    _______
     \    /
      \/\/
    
  2. রাস্তাটি অবশ্যই পর্বতমালার সুদূর প্রান্তে প্রসারিত হতে হবে (অর্থাত্ ইনপুট লাইনের দৈর্ঘ্যটি রাস্তাটি কতদূর এগিয়ে যায়)।

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

  4. সুড়ঙ্গগুলি ছেড়ে যায়, ভাল, পাহাড়ের একটি সুড়ঙ্গ যার সাধারণত সিলিং থাকে। আমাদের প্রিমেড রোড টাইলস ভাগ্যক্রমে সিলিংটি শক্তিশালী করার জন্য ব্যবহার করা যেতে পারে যাতে সুড়ঙ্গটি ধসে না যায় (টানেলের উপরে লাইনটি টানেলটিকে _শক্তিশালী করতে ব্যবহার করতে হবে):

          /\
         /  \
        /____\
    ___)______(__
     \/        \/
    
  5. যখন পর্বতটি তার উপরে পর্যাপ্ত পরিমাণে না থাকে তখন টানেলটিকে আরও জোরদার করার দরকার হয় না। এটি আমার কাছেও অদ্ভুত লাগছে তবে আমাকে বলা হয়েছে যে প্রিমেড রোড টাইলগুলি এমন অবস্থায় রাখা সত্ত্বেও ধরে রাখতে যথেষ্ট শক্তিশালী (যখন টানেলের উপরে কোনও opeালু থাকে তখন কোনও টানেলের সিলিং আঁকা হয় না):

           /\
        /\/__\
    ___)______(__
     \/        \/
    
  6. যখনই রাস্তাটি একটি অট্টালিকা অতিক্রম করার প্রয়োজন হয় সেতুর প্রয়োজন needed সংক্ষিপ্ত সেতুগুলির জন্য প্রিমেড রোড টাইলগুলি যথেষ্ট শক্তিশালী তবে সেতুর শুরু এবং শেষের দিকে এখনও কিছুটা সমর্থন প্রয়োজন (ব্রিজের নীচে প্রথম নীচের দিকে slাল এবং শেষের দিকে wardালুটি প্রতিস্থাপন করা হয় Yযাতে সেতুর জন্য একটি সমর্থন বিম থাকে ):

    _____
     Y  Y
      \/
    
  7. দীর্ঘতর সেতুগুলির অতিরিক্ত সমর্থন প্রয়োজন। দীর্ঘ সেতুটি এমন একটি যা পর পর ছয়টির বেশি অসমর্থিত রাস্তা টাইলস রয়েছে। দীর্ঘ সেতুগুলির তাদের কেন্দ্রে একটি স্তম্ভ প্রয়োজন। স্তম্ভ সহজে আমাদের prebuilt স্তম্ভ রশ্মি যা এই মত চেহারা নির্মিত হয়: |। প্রতিটি স্তম্ভগুলির মধ্যে দুটির প্রয়োজন এবং সেগুলি অস্তিত্বের নীচে পর্যন্ত প্রসারিত হয়:

    _____________________________
     Y            ||            Y
      \        /\ || /\      /\/ 
       \  /\  /  \||/  \  /\/    
        \/  \/    \/    \/       
    
  8. যেহেতু ইনপুটটি পুরো পর্বতশ্রেণীর একটি অংশকেই কেবল ফ্রিওয়েটি তৈরি করতে হবে তার প্রতিনিধিত্ব করে, এটি হঠাৎ একটি ব্রিজ বা টানেলের মাঝখানে শেষ হতে পারে। দীর্ঘ সেতুর নিয়মটি এখনও চূড়ান্ত বিভাগের জন্য প্রযোজ্য এবং আপনি ধরে নিতে পারেন যে প্রদত্ত ইনপুটটির বাইরে প্রথম অংশটি আবার সেতুটিকে সমর্থন করে।

উপরের নিয়মগুলি অনুসরণ করে আমরা আমাদের ইনপুটটির জন্য নিম্নলিখিতটি পাই:

                         /\                                
                        /  \                               
                   /\  /    \                              
            /\    /  \/      \                             
           /  \  /            \                  /\        
          /____\/______________\                /__\       
_________)______________________(________)(____)____(______
 Y      Y                        Y      Y  Y  Y      Y  YY 
  \    /                          \    /    \/        \/  \
   \  /                            \  /                    
    \/                              \/                     

অক্ষর গণনা দ্বারা সংক্ষিপ্ততম কোড জিততে পারে। লাইনে শ্বেত স্পেস অনুসরণের বৈধতার জন্য অগ্রাহ্য করা হয়।

নমুনা ইনপুট 1

_                                                           
 \                            /\                            
  \                          /  \                           
   \                        /    \                          
    \                /\    /      \              /\        /
     \    /\        /  \  /        \      /\  /\/  \      / 
      \  /  \      /    \/          \    /  \/      \/\  /  
       \/    \    /                  \  /              \/   
              \  /                    \/                    
               \/                                           

নমুনা আউটপুট 1

____________________________________________________________
 Y             ||             YY             ||             
  \            ||            /  \            ||             
   \           ||           /    \           ||             
    \          ||    /\    /      \          ||  /\        /
     \    /\   ||   /  \  /        \      /\ |/\/  \      / 
      \  /  \  ||  /    \/          \    /  \/      \/\  /  
       \/    \ || /                  \  /              \/   
              \||/                    \/                    
               \/                                           

নমুনা ইনপুট 2

                                           /\  /\                      
                                          /  \/  \                    /
           /\                            /        \  /\              / 
    /\    /  \                          /          \/  \            /  
   /  \  /    \/\                      /                \    /\    /   
  /    \/        \                    /                  \  /  \  /    
_/                \                  /                    \/    \/     
                   \                /                                  
                    \            /\/                                   
                     \  /\      /                                      
                      \/  \    /                                       
                           \  /                                        
                            \/                                         

নমুনা আউটপুট 2

                                           /\  /\                      
                                          /  \/  \                    /
           /\                            /        \  /\              / 
    /\    /  \                          /          \/  \            /  
   /  \  /    \/\                      /                \    /\    /   
  /____\/________\                    /__________________\  /__\  /____
_)________________(__________________)____________________()____()_____
                   Y       ||       Y                                  
                    \      ||    /\/                                   
                     \  /\ ||   /                                      
                      \/  \||  /                                       
                           \| /                                        
                            \/                                         

বিঃদ্রঃ

রেফারেন্স সমাধানগুলির সাথে তুলনার জন্য আউটপুটে ট্রেলিং স্পেসগুলি উপেক্ষা করা হয়।

জয়ের শর্ত

গল্ফের রীতি অনুসারে সংক্ষিপ্ততম কোড জিতেছে। টাই করার ক্ষেত্রে আগের সমাধানটি জিততে পারে।

পরীক্ষার মামলা

দুটি পরীক্ষার স্ক্রিপ্ট রয়েছে যাতে অভিন্ন পরীক্ষার কেস থাকে:

অনুরোধ উভয় ক্ষেত্রে: <test script> <my program> [arguments]যেমন ./test ruby bridges.rbবা ./test.ps1 ./bridges.exe

আরেকটি নোট

এই কাজটি ২০১১-W24-এর সময় আমার বিশ্ববিদ্যালয়ে অনুষ্ঠিত একটি গল্ফ প্রতিযোগিতার অংশ ছিল। আমাদের প্রতিযোগীদের স্কোর এবং ভাষাগুলি নীচে ছিল:

  • 304 - পার্ল
  • 343 - সি
  • 375 - সি
  • 648 - পাইথন

আমাদের নিজস্ব সমাধান (ভেন্টোরোর ধন্যবাদ) ছিল

  • 262 - রুবি

1
দ্রষ্টব্য: আমি টেস্ট স্ক্রিপ্টগুলি আপডেট করেছি যেখানে কয়েকটি পরীক্ষার ক্ষেত্রে শীর্ষে একটি অনিচ্ছাকৃত খালি লাইন থাকে। এখনই ঠিক করা উচিত।
জোয়

উত্তর:


8

পার্ল, 210 195 194 193 অক্ষর

হালনাগাদ

একই ধারণা, তবে বেশিরভাগ অংশের জন্য, খুব আলাদাভাবে প্রয়োগ করা হয়েছে applied

চালান perl -p0(সুইচগুলির জন্য গণনা করা 4 টি অক্ষর)।

($o,$c,$r,$b)=/((.+\n)?(_.+\n)(.+\n)?)/;/\n/;$n=$-[0];$c=~s{/ }{/_}g;$r=~y{ /\\}{_)(};map{s{\\(   +)  \1(/|\n)}{\\$1||$1$2}g,y{\\/}{Y}}$b;s/\Q$o/$c$r$b/;1while(s/_ /__/||s/(\|.{$n}) /$1|/s) 

এটিতে বাশ পরীক্ষার স্ক্রিপ্টেও পরিবর্তন প্রয়োজন, যাতে আর্গুমেন্টগুলিকে অতিরিক্ত উদ্ধৃতি না দেওয়া হয়:

-   got=$("$cmd" "$args")
+   got=$("$cmd" $args)

বিটিডাব্লু, আমি সত্যিই পরীক্ষার স্ক্রিপ্টগুলির প্রশংসা করি, @ জোই।

মন্তব্য করেছেন:

#-p : implicitly read input and print after transformations
#-0 : "slurp mode": don't break lines

# grab the roadway line, along with the lines above and below for ceiling and buttresses
# also grab the whole match in $o for replacing later
($o,$c,$r,$b)=/((.+\n)?(_.+\n)(.+\n)?)/;

# compute line length
/\n/;$n=$-[0];

# start ceilings
$c=~s{/ }{/_}g;

# build the road and tunnels
$r=~y{ /\\}{_)(};

# use map to avoid repeating $b =~
map{
  # insert the pillar tops
  s{\\(   +)  \1(/|\n)}{\\$1||$1$2}g,
  # and the buttresses
  y{\\/}{Y}
} $b;

# put those 3 (or 2) lines back into the original
s/\Q$o/$c$r$b/;

# extend ceiling tiles to the right and pillars downward
1while(s/_ /__/||s/(\|.{$n}) /$1|/s)

সম্পাদনা :

  • অন্য অক্ষর সংরক্ষণ করতে {3,}3 টি আক্ষরিক স্পেস এবং +কোয়ান্টিফায়ার দিয়ে " " প্রতিস্থাপন করুন
  • 1while(...)ফর্মটি ব্যবহার করুন , যেখানে আমি স্ক্রিপ্টের শেষে সেমিকোলনটি বাদ দিতে পারি

আসল (মন্তব্য করা সংস্করণের ইতিহাস দেখুন)

@a=map{($r=$n),y{ /\\}{_)(}if/_/;$n++;$_}<>;if($r){while($a[$r-1]=~s{(/[ _]*) }{$1_}){}}map{s{(^|\\)( {3,})  \2(/|$)}{$1$2||$2$3}g;y{\\/}{YY}}$a[$r+1];$_=join'',@a;/\n/;$n=$-[0];while(s/(\|.{$n}) /$1|/s){}print

আমার কাজ করা অবধি আমি ইচ্ছাকৃতভাবে @ হাওয়ার্ডের পার্ল সলিউশনটির দিকে তাকাতে পারি নি, তবে পরে দেখার পরে আমি আমার গল্ফিংয়ের উন্নতি করতে সক্ষম হয়েছি।

বিশেষত, টানেলের সিলিং এবং প্রসারিত স্তম্ভগুলির জন্য রেজিক্সপস সাহায্য করেছিল। সুন্দরভাবে সম্পন্ন, হাওয়ার্ড।

বিপরীতে, লাইন দৈর্ঘ্য পাওয়ার জন্য আমার বিকল্প, প্রিন্টের জন্য অন্তর্নিহিত $ _ ব্যবহার করে, চূড়ান্ত সেমিকোলন ছেড়ে, এবং নিউলাইনগুলি সরিয়ে নেওয়া হাওয়ার্ডের 222 টি অক্ষরে ছোট করে দিতে পারে।


1
জন্য bashপরীক্ষা স্ক্রিপ্ট Ventero প্রতি কৃতজ্ঞ হও। কিছুটা কাজ না করা পর্যন্ত আমি কেবল এটি তৈরি করেছি এবং এটি ভিত্তি করেছিলাম ;-)
জয়ে

6

পার্ল, 234 টি অক্ষর

$_=join'',<>;$l=index($_,"\n");
($w)=/(_[^\n]*)/;$w=~y/ \\\//_()/;s/_[^\n]*/$w/e;
while(s/(\/[ _]*) (?=[^\n]*\n_)/$1_/||s/(_.{$l})[\\\/]/$1Y/s){}while(s/(\n( |Y *Y)*)Y( {3,})  \3(Y| ?\n)/\1Y\3||\3\4/||s/(?<=\|.{$l}) /|/s){}
print $_;

এটি পার্ল রেজেক্স-একমাত্র সমাধান। এটি প্রদত্ত সমস্ত পরীক্ষার কেস পাস করে।

অভিন্ন কিন্তু আরও পঠনযোগ্য সংস্করণ ফলাফল প্রাপ্তির জন্য নেওয়া পদক্ষেপগুলি দেখায়:

$_=join'',<>;                    # read the input
$l=index($_,"\n");               # determine length of line

($w)=/(_[^\n]*)/;                # extract the line starting with _
$w=~y/ \\\//_()/;                # and build road there (i.e. replace all chars in line)
s/_[^\n]*/$w/e;                  # put road back into string

while(s/(\/[ _]*) (?=[^\n]*\n_)/$1_/||s/(_.{$l})[\\\/]/$1Y/s){}
                                 # build ceiling of tunnels
                                 # build Y supports directly below the road

while(s/(\n( |Y *Y)*)Y( {3,})  \3(Y| ?\n)/\1Y\3||\3\4/||s/(?<=\|.{$l}) /|/s){}
                                 # build center support in middle of bridges
                                 # and extend them down to the ground

print $_;                        # print result

1
বাবা। এটি সমস্ত অংশে বরং খারাপ দেখায় ;-)। কেন পার্ল লোকেদের সবসময় রেজিক্স দিয়ে সমস্ত কিছু সমাধান করতে হয়? : -þ
জোয়

কারণ নিবন্ধগুলি হ'ল সত্যিকারের পার্ল হ্যাকারের অস্ত্র:
F

2
একজন পার্ল হ্যাকার (আমি নিজেকে এই জাতীয় বছরগুলিতে বলেছি) চারপাশে অন্যভাবে চিন্তা করে, জোয়: যদি কোনও সমস্যা রেজেক্সেস দিয়ে সমাধান করা যায় তবে কেন অন্য কিছু নিয়ে বিরক্ত করবেন? নিয়মিত প্রকাশের জন্য এটি সত্যিই একটি আদর্শ সমস্যা, আমি মনে করি: এটিই বা নিজেই ব্যাকট্র্যাকিং স্টেট মেশিন প্রয়োগ করে।
বুথবি

এটি পুরোপুরি গুরুতর নয়। আমার নিজস্ব রেফারেন্স সমাধান প্রাথমিকভাবে প্রচুর রেজিওস ব্যবহার করেছে।
জোয়

4

সি ++, 662 622 598 অক্ষর, 4 টি লাইন

#include<iostream>
#include<string>
#define s for(
#define v g[t][f]
int t,f,r,q,m=-1,w,b,e,h,j,x,y,l,c=18;int main(){std::string g[19];s;r<19;h=c)getline(std::cin,g[r++]);s;c>=0;g[c--].push_back(0))(q=g[c].size())&&g[c][0]-95?0:r=c;s;c<q;y=0){x=g[r][++c];x==47?x=41,w=e=1:++y;x==92?x=40,w=0:++y;t=r-1;f=c;y>1?x=95,w?r&&v==32?v=95:0:++b:0;c-q?0:e=1;t++;s v=x;m<0;)g[h].find(47)<g[h--].npos?m=h:0;t=r+1;if(r<m){(y=v)==47?y=89,e=1:0;v=y-92?y:89;if(e){y=e=0;if((b/=2)>4){j=l=r+1;s;!y;t=j,f=c-b+1,v==32?v=124,++j:0)t=l,y=f=c-b,v==32?v=124,l++,y=0:0;}b=0;}}}s f=q,t=0;t<=m;std::cout<<g[t++]<<'\n')v=32;}

এটি হওয়া উচিত, আমি পাওয়ারশেল স্ক্রিপ্ট দিয়ে এটি পরীক্ষা করেছি তাই এটি ঠিক হওয়া উচিত ...

সম্পাদনা 1

সংখ্যার সাথে সমস্ত চর স্থির প্রতিস্থাপন, স্ট্যান্ড :: ক্রাউট + এ ধারাবাহিক কলগুলি মুছে ফেলা হয়েছে আরও কয়েকটি ছোট ছোট পরিবর্তন।

সম্পাদনা 2

শেষ এডিট করুন, কেবল এটি 600 এরও কম পাওয়ার জন্য g g [t] [f] কে একটি # নির্দিষ্ট হিসাবে দেখিয়ে কয়েকটি জিনিস ঘুরিয়ে নিলেন।


হ্যাঁ, আমার কয়েকটি পরীক্ষার কেস ভুল ছিল, তবে এটি আমার নিজের দোষ। এখন দেখতে দুর্দান্ত দেখাচ্ছে :-)
জোয়

এটা সাহায্য করবে #define std::?
FUZxxl

@FUZxxl, আমি মনে করি না, আমি কেবল "std ::" ব্যবহার করেছি 4 বার তাই এটি 20 টি অক্ষর, যদি আমি একটি সংজ্ঞা ব্যবহার করি তবে সেই জায়গাগুলির প্রত্যেকটিতে আমার 2 টি অক্ষর প্রয়োজন (উদাহরণস্বরূপ "একটি কাউট" স্টাড হিসাবে ব্যবহার করে) : :) এবং সংজ্ঞায়িত করা 12 টিরও বেশি অক্ষর নেবে, "নেমস্পেস স্ট্যান্ড ব্যবহার করে" এটিও লাভজনক নয়।
স্কট লোগান

3

রুবি, 382 356 353 টি অক্ষর

আমি একটি নন-রেজেক্স সমাধানটি শট দেওয়ার ভেবেছিলাম।

m=$<.read;n,r,s,$e,t=(/\n/=~m)+1,/^_/=~m,m.size,(u,d=47,92),0;def j y;$e.member? y;end;(n-1).times{|i|x=r+i;c=m[x];j(c)||(m[x]=95;a,b=x-n,x+n;t<41||a<0||m[a]>32||m[a]=95;b>s||!j(m[b])||(m[b]<d||(p=(/\/|\n/=~m[b..s])/2+b;p-b<4||(w=[f=false,f];p.step(s,n){|p|2.times{|i|(w[i]||=j m[i=p+i])||m[i]='|'}}));m[b]='Y'));c!=u||t=m[x]=41;c!=d||t=m[x]=40};print m

এখানে বৃহত্তম স্পেস সেভার এর ||পরিবর্তে শর্তসাপেক্ষ অপারেটর ব্যবহার করা if - elsif - end। লেখার পরিবর্তে if(a) lorem_ipsum endআমি লিখেছি !a||lopem_ipsum। বড় ব্লকগুলি প্রথম বন্ধনী ব্যবহার করে অন্তর্ভুক্ত থাকতে পারে !a||(block)। যদি শর্তটি &&অপারেটরদের অন্তর্ভুক্ত করে তবে তাদের প্রথম বন্ধনী ব্যবহার করে এবং !ডি মরগানের আইন ব্যবহার করে তাদের অবশ্যই অবহেলা করতে হবে ।

এবং এখানে আরও শব্দ সহ একই

# read the STDIN to string
mountains = $<.read
line_length,road_level,size,$slopes,in_tunnel =
        (/\n/ =~ mountains) + 1, # Fint the first new line
        /^_/ =~ mountains, # Find the index of the road
        mountains.size, 
        (slope_up,slope_down=47,92),
        0

def is_slope y;$slopes.member? y;end

# For each index in the road line
(line_length - 1).times { |i|
  curindex = road_level + i
  curchar = mountains[curindex]

  # If not a slope then
  (is_slope(curchar))|| (

    # mark road as underscore
    mountains[curindex] = 95
    above, below = curindex - line_length, curindex + line_length

    # add roof to tunnel if in tunnel and the mountain
    # is high enough
    in_tunnel<41||above<0||mountains[above]>32||mountains[above]=95

    # If there's a slope character below the road
    below>size||!is_slope(mountains[below])||(

      # if there's a downward slop - start a bridge
      mountains[below]<slope_down||(

          # If bridge is longer than 6 characters
          # Add support to the middle
          support_pos = (/\/|\n/=~mountains[below..size])/2+below
          support_pos-below<4||(
            # Init collision detection
            collision_detected=[f=false,f]
            # Build supports as long as 
            # There is mountains below
            support_pos.step(size,line_length) { |support_pos|

               # Add two parallel suppports
               2.times { |i|

               # Add support if the bottom of the 
               # gap has not been reached
               (collision_detected[i]||=is_slope(mountains[i=support_pos+i]))||mountains[i] = '|'
               }
            }
          )
      )

      # Add support to the beginning and to the end
      # of the bridge
      mountains[below] = 'Y'
    )
  )

  # Add tunnel entrance and exit
  curchar!=slope_up||in_tunnel=mountains[curindex]=41
  curchar!=slope_down||in_tunnel=mountains[curindex]=40
}

print mountains

পরীক্ষাগুলি ঠিক আছে - পরীক্ষার স্ক্রিপ্টটি পেস্ট করার সময় আমি কেবল স্ক্রু তৈরি করেছি ... বিশ্রী।
এলেক্সি ইয়ার্তিয়াহো

2

স্কালা, 462 টি অক্ষর

object B extends App{var r="""(?s)((?:.*\n)?)((?:.*?\n)?)(_.*?\n)(.*?\n)(.*)""".r
var r(a,b,c,d,e)=io.Source.stdin.mkString
var s=a+b.replaceAll("(?<=/ {0,99}) (?=.*\\\\)","_")+c.replaceAll("\\\\","(").replaceAll("/",")").replaceAll(" ","_")+d.replaceAll("\\\\( {3,99})  \\1/","Y$1||$1Y").replaceAll("\\\\( {3,99})  \\1\\n","Y$1||$1\n").replaceAll("\\\\( {0,9})/","Y$1Y")+e
for(i<-1 to 15)s=s.replaceAll("(?s)(?<=\\|.{"+s.split("\n")(0).size+"}) ","|")
print(s)}

বিশেষভাবে প্রতিযোগিতামূলক নয়, তবে আমি আজ নিয়মিত প্রকাশ সম্পর্কে অনেক কিছু শিখেছি। :-)


2

এরং, 1182 টি অক্ষর

-module(b).
-export([t/0]).
t()->r([]).
r(R)->case io:get_line("")of eof->{_,Q}=lists:foldl(fun([$ |L],{$_,Q})->{$ ,[[$X|L]|Q]};([C|_]=L,{_,Q})->{C,[L|Q]}end,{$ ,[]},R),{_,P}=lists:foldl(fun s/2,{s,[]},lists:flatten(Q)),io:put_chars(lists:reverse(P));L->r([L|R])end.
s($X,{s,R})->{{r,s},[$ |R]};s($/,{{r,s},R})->{{r,r},[$/|R]};s($\\,{{r,r},R})->{{r,s},[$\\|R]};s($\n,{{r,_},R})->{u,[$\n|R]};s(_,{{r,r}=S,R})->{S,[$_|R]};s($_,{_,R})->{u,[$_|R]};s($\n,{u,R})->{{g,i,1,1,[]},[$\n|R]};s($\\,{u=S,R})->{S,[$(|R]};s($/,{u=S,R})->{S,[$)|R]};s(_,{u=S,R})->{S,[$_|R]};s($\\,{{g,i,X,_L,T},R})->{{g,o,X+1,X,[$Y|T]},R};s($/,{{g,o,X,L,T},R})->a(o,X,L),{{g,i,X+1,X,[$Y|T]},R};s($\n,{{g,S,X,L,T},R})->a(S,X,L),{{d,1},[$\n,f(T,X)|R]};s(C,{{g,S,X,L,T},R})->{{g,S,X+1,L,[C|T]},R};s($\n,{{d,_},R})->{{d,1},[$\n|R]};s($ ,{{d,X},R})->{{d,X+1},[case get(X)of y->$|;_->$ end|R]};s($/,{{d,X},R})->put(X,n),{{d,X+1},[$/|R]};s($\\,{{d,X},R})->put(X,n),{{d,X+1},[$\\|R]};s($\n=N,{S,R})->{S,[N|R]};s(X,{S,R})->{S,[X|R]}.
a(o,X,L)when X-L-1>6->Pos=round((X-L-1)/2+L),put(Pos,y),put(Pos+1,y);a(_,_,_)->v.
f(L,M)->{_,R}=lists:foldl(fun(C,{X,R})->case get(M-X)of y->{X+1,[$||R]};_->{X+1,[C|R]}end end,{1,[]},L),R.

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


1

পাওয়ারশেল, 300 295 287 বাইট

-8 বাইট ফিক্স DCharness'es উত্তর থেকে উঁকি দেওয়া ।

param($s)filter e{$r,$e=$_-split'#';$e|%{$r=$r-replace($_-split';')};$r}
$x=$s-match'(.+
)?(_.+)(
.+)?'
$o,$c,$r,$b=$Matches[0..3]
for($s=$s|% *ce $o(("$c#/ ;/_"|e)+("$r# ;_#/;)#\\;("|e)+($b+'#\\(   +)  \1;\$1||$1#/|\\;Y'|e));$s-ne($x="$s#_ ;__#(?s)(?<=\|.{$($r|% Le*)}) ;|"|e)){$s=$x}$s

অসম্পূর্ণ পরীক্ষা স্ক্রিপ্ট:

$f = {

param($s)
$x=$s-match'(.+
)?(_.+)(
.+)?'
$o,$c,$r,$b=$Matches[0..3]
$c=$c-replace'/ ','/_'                  # we assume that road does not start as a tunnel
$r=$r-replace' ','_'
$r=$r-replace'/',')'
$r=$r-replace'\\','('
$b=$b-replace'\\(   +)  \1','\$1||$1'   # we assume that road does not start as a bridge under a chasm
$b=$b-replace'/|\\','Y'
$s=$s.replace($o,"$c$r$b")              # string method replace (not operator) does not handle regexp
for(;$s-ne($x=$s-replace'_ ','__'-replace"(?s)(?<=\|.{$($r.Length)}) ",'|')){$s=$x}
$s

}

$pass = 0
$count = 0

@(
# Test 2
,(2,@'
    /\                  /\                  /\        
   /  \                /  \                /  \       
  /____\              /____\              /____\      
_)______(____________)______(____________)______(_____
         Y    ||    Y        Y    ||    Y        Y    
          \   ||   /          \   ||   /          \   
           \  ||  /            \  ||  /            \  
            \ || /              \ || /              \ 
             \||/                \||/                \
              \/                  \/                  
'@,@'
    /\                  /\                  /\        
   /  \                /  \                /  \       
  /    \              /    \              /    \      
_/      \            /      \            /      \     
         \          /        \          /        \    
          \        /          \        /          \   
           \      /            \      /            \  
            \    /              \    /              \ 
             \  /                \  /                \
              \/                  \/                  
'@)

# Test 1
,(1,@'
____________________________________________________________
 Y             ||             YY             ||             
  \            ||            /  \            ||             
   \           ||           /    \           ||             
    \          ||    /\    /      \          ||  /\        /
     \    /\   ||   /  \  /        \      /\ |/\/  \      / 
      \  /  \  ||  /    \/          \    /  \/      \/\  /  
       \/    \ || /                  \  /              \/   
              \||/                    \/                    
               \/                                           
'@,@'
_                                                           
 \                            /\                            
  \                          /  \                           
   \                        /    \                          
    \                /\    /      \              /\        /
     \    /\        /  \  /        \      /\  /\/  \      / 
      \  /  \      /    \/          \    /  \/      \/\  /  
       \/    \    /                  \  /              \/   
              \  /                    \/                    
               \/                                           
'@)

# Test 3
,(3,@'
    /\                 
   /  \                
  /____\/\/\/\/\/\/\/\ 
_)____________________(
'@,@'
    /\                 
   /  \                
  /    \/\/\/\/\/\/\/\ 
_/                    \
'@)

# Test 4
,(4,@'
___________________________________________________
 Y           ||           YY          ||          Y
  \          ||          /  \         |/\        / 
   \         ||         /    \        /  \      /  
    \    /\  ||    /\  /      \      /    \    /   
     \  /  \ ||   /  \/        \    /      \  /    
      \/    \||  /              \  /        \/     
             \| /                \/                
              \/                                   
'@,@'
_                                                  
 \                        /\                      /
  \                      /  \          /\        / 
   \                    /    \        /  \      /  
    \    /\        /\  /      \      /    \    /   
     \  /  \      /  \/        \    /      \  /    
      \/    \    /              \  /        \/     
             \  /                \/                
              \/                                   
'@)

# Test 5
,(5,@'
                                                      /
                                                     / 
                                                    /__
___________________________________________________)___
 Y           ||           YY          ||          Y    
  \          ||          /  \         |/\        /     
   \         ||         /    \        /  \      /      
    \    /\  ||    /\  /      \      /    \    /       
     \  /  \ ||   /  \/        \    /      \  /        
      \/    \||  /              \  /        \/         
             \| /                \/                    
              \/                                       
'@,@'
                                                      /
                                                     / 
                                                    /  
_                                                  /   
 \                        /\                      /    
  \                      /  \          /\        /     
   \                    /    \        /  \      /      
    \    /\        /\  /      \      /    \    /       
     \  /  \      /  \/        \    /      \  /        
      \/    \    /              \  /        \/         
             \  /                \/                    
              \/                                       
'@)

# Test 6
,(6,@'
_______________________________)
 YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY 
'@,@'
_                              /
 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ 
'@)

# Test 7
,(7,@'
_________________________________)
 Y              ||              Y 
  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  
'@,@'
_                                /
 \                              / 
  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  
'@)

# Test 8
,(8,@'
      /\    /\    /\    /\    /\    /\ 
_)(__)__(__)__(__)__(__)__(__)__(__)__(
   YY    YY    YY    YY    YY    YY    
'@,@'
      /\    /\    /\    /\    /\    /\ 
_/\  /  \  /  \  /  \  /  \  /  \  /  \
   \/    \/    \/    \/    \/    \/    
'@)

# Test 9
,(9,@'
  /\/\/\/\/\/\/\/\ 
_)________________(
'@,@'
  /\/\/\/\/\/\/\/\ 
_/                \
'@)

# Test 10
,(10,@'
      /\                                                            /\                              
     /  \                                                          /  \                             
    /    \                                                        /    \                            
   /      \                                                      /      \                           
  /________\                                                    /________\/\/\/\/\                  
_)__________(__________________________________________________)__________________(______)(_________
             Y                       ||                       Y                    Y    Y  Y   ||   
              \                      ||    /\                /                      \  /    \  ||  /
               \    /\               ||   /  \              /                        \/      \ || / 
                \  /  \              ||  /    \            /                                  \||/  
                 \/    \             || /      \          /                                    \/   
                        \        /\  ||/        \        /                                          
                         \      /  \ |/          \      /                                           
                          \    /    \/            \    /                                            
                           \/\/                    \/\/                                             
'@,@'
      /\                                                            /\                              
     /  \                                                          /  \                             
    /    \                                                        /    \                            
   /      \                                                      /      \                           
  /        \                                                    /        \/\/\/\/\                  
_/          \                                                  /                  \      /\         
             \                                                /                    \    /  \        
              \                            /\                /                      \  /    \      /
               \    /\                    /  \              /                        \/      \    / 
                \  /  \                  /    \            /                                  \  /  
                 \/    \                /      \          /                                    \/   
                        \        /\    /        \        /                                          
                         \      /  \  /          \      /                                           
                          \    /    \/            \    /                                            
                           \/\/                    \/\/                                             
'@)

# Test 11
,(11,@'
__________________________________________________
 Y     ||     YY     ||     YY         ||         
  \    ||    /  \    ||    /  \        /\         
   \   ||   /    \   ||   /    \      /  \    /\  
    \  ||  /      \  ||  /      \    /    \  /  \/
     \ || /        \ || /        \  /      \/     
      \||/          \||/          \/              
       \/            \/                           
'@,@'
_                                                 
 \            /\            /\                    
  \          /  \          /  \        /\         
   \        /    \        /    \      /  \    /\  
    \      /      \      /      \    /    \  /  \/
     \    /        \    /        \  /      \/     
      \  /          \  /          \/              
       \/            \/                           
'@)

# Test 12
,(12,@'
                                           /\  /\                      
                                          /  \/  \                    /
           /\                            /        \  /\              / 
    /\    /  \                          /          \/  \            /  
   /  \  /    \/\                      /                \    /\    /   
  /____\/________\                    /__________________\  /__\  /____
_)________________(__________________)____________________()____()_____
                   Y       ||       Y                                  
                    \      ||    /\/                                   
                     \  /\ ||   /                                      
                      \/  \||  /                                       
                           \| /                                        
                            \/                                         
'@,@'
                                           /\  /\                      
                                          /  \/  \                    /
           /\                            /        \  /\              / 
    /\    /  \                          /          \/  \            /  
   /  \  /    \/\                      /                \    /\    /   
  /    \/        \                    /                  \  /  \  /    
_/                \                  /                    \/    \/     
                   \                /                                  
                    \            /\/                                   
                     \  /\      /                                      
                      \/  \    /                                       
                           \  /                                        
                            \/                                         
'@)

# Test 13
,(13,@'
_____________)(____________)(_____________________
 Y    ||    Y  Y    ||    Y  Y   ||   YY    ||    
  \   ||   /    \   ||   /    \  ||  /  \   |/\  /
   \  ||  /      \  ||  /      \ || /    \  /  \/ 
    \ || /        \ || /        \||/      \/      
     \||/          \||/          \/               
      \/            \/                            
'@,@'
_            /\            /\                     
 \          /  \          /  \        /\          
  \        /    \        /    \      /  \    /\  /
   \      /      \      /      \    /    \  /  \/ 
    \    /        \    /        \  /      \/      
     \  /          \  /          \/               
      \/            \/                            
'@)

# Test 14
,(14,@'
            /\            /\                    
___________)__(__________)__(________)(_________
 Y   ||   Y    Y   ||   Y    Y      Y  Y    YY  
  \  ||  /      \  ||  /      \    /    \  /  \/
   \ || /        \ || /        \  /      \/     
    \||/          \||/          \/              
     \/            \/                           
'@,@'
            /\            /\                    
_          /  \          /  \        /\         
 \        /    \        /    \      /  \    /\  
  \      /      \      /      \    /    \  /  \/
   \    /        \    /        \  /      \/     
    \  /          \  /          \/              
     \/            \/                           
'@)

# Test 15
,(15,@'
           /\            /\                    
          /__\          /__\        /\         
_________)____(________)____(______)__(____)(__
 Y      Y      Y      Y      Y    Y    Y  Y  YY
  \    /        \    /        \  /      \/     
   \  /          \  /          \/              
    \/            \/                           
'@,@'
           /\            /\                    
          /  \          /  \        /\         
_        /    \        /    \      /  \    /\  
 \      /      \      /      \    /    \  /  \/
  \    /        \    /        \  /      \/     
   \  /          \  /          \/              
    \/            \/                           
'@)

# Test 16
,(16,@'
          /\            /\                    
         /  \          /  \        /\         
        /____\        /____\      /__\    /\  
_______)______(______)______(____)____(__)__()
 Y    Y        Y    Y        Y  Y      YY     
  \  /          \  /          \/              
   \/            \/                           
'@,@'
          /\            /\                    
         /  \          /  \        /\         
        /    \        /    \      /  \    /\  
_      /      \      /      \    /    \  /  \/
 \    /        \    /        \  /      \/     
  \  /          \  /          \/              
   \/            \/                           
'@)

# Test 17
,(17,@'
         /\            /\                    
        /  \          /  \        /\         
       /    \        /    \      /  \    /\  
      /______\      /______\    /____\  /__\/
_____)________(____)________(__)______()_____
 Y  Y          Y  Y          YY              
  \/            \/                           
'@,@'
         /\            /\                    
        /  \          /  \        /\         
       /    \        /    \      /  \    /\  
      /      \      /      \    /    \  /  \/
_    /        \    /        \  /      \/     
 \  /          \  /          \/              
  \/            \/                           
'@)

# Test 18
,(18,@'
        /\            /\                    
       /  \          /  \        /\         
      /    \        /    \      /  \    /\  
     /      \      /      \    /    \  /  \/
    /________\    /________\  /______\/_____
___)__________(__)__________()______________
 YY            YY                           
'@,@'
        /\            /\                    
       /  \          /  \        /\         
      /    \        /    \      /  \    /\  
     /      \      /      \    /    \  /  \/
    /        \    /        \  /      \/     
_  /          \  /          \/              
 \/            \/                           
'@)

# Test 19
,(19,@'
       /\            /\                    
      /  \          /  \        /\         
     /    \        /    \      /  \    /\  
    /      \      /      \    /    \  /  \/
   /        \    /        \  /      \/     
  /__________\  /__________\/______________
_)____________()___________________________
'@,@'
       /\            /\                    
      /  \          /  \        /\         
     /    \        /    \      /  \    /\  
    /      \      /      \    /    \  /  \/
   /        \    /        \  /      \/     
  /          \  /          \/              
_/            \/                           
'@)

# Test 20
,(20,@'
__________________________________________________
 Y     ||     YY     ||     YY         ||         
  \    ||    /  \    ||    /  \        /\         
   \   ||   /    \   ||   /    \      /  \    /\  
    \  ||  /      \  ||  /      \    /    \  /  \ 
     \ || /        \ || /        \  /      \/    \
      \||/          \||/          \/              
       \/            \/                           
'@,@'
_                                                 
 \            /\            /\                    
  \          /  \          /  \        /\         
   \        /    \        /    \      /  \    /\  
    \      /      \      /      \    /    \  /  \ 
     \    /        \    /        \  /      \/    \
      \  /          \  /          \/              
       \/            \/                           
'@)

# Test 21
,(21,@'
      /\            /\                    
     /  \          /  \        /\         
    /    \        /    \      /  \    /\  
   /      \      /      \    /    \  /  \/
  /________\    /________\  /______\/_____
_)__________(__)__________()______________
             YY                           
'@,@'
      /\            /\                    
     /  \          /  \        /\         
    /    \        /    \      /  \    /\  
   /      \      /      \    /    \  /  \/
  /        \    /        \  /      \/     
_/          \  /          \/              
             \/                           
'@)

# Test 22
,(22,@'
     /\            /\                    
    /  \          /  \        /\         
   /    \        /    \      /  \    /\  
  /______\      /______\    /____\  /__\/
_)________(____)________(__)______()_____
           Y  Y          YY              
            \/                           
'@,@'
     /\            /\                    
    /  \          /  \        /\         
   /    \        /    \      /  \    /\  
  /      \      /      \    /    \  /  \/
_/        \    /        \  /      \/     
           \  /          \/              
            \/                           
'@)

# Test 23
,(23,@'
                         /\                                 
                        /  \                                
                   /\  /    \                               
            /\    /  \/      \                              
           /  \  /            \                  /\         
          /____\/______________\                /__\        
_________)______________________(________)(____)____(_______
 Y      Y                        Y      Y  Y  Y      Y  YY  
  \    /                          \    /    \/        \/  \/
   \  /                            \  /                     
    \/                              \/                      
'@,@'
                         /\                                 
                        /  \                                
                   /\  /    \                               
            /\    /  \/      \                              
           /  \  /            \                  /\         
          /    \/              \                /  \        
_        /                      \        /\    /    \       
 \      /                        \      /  \  /      \  /\  
  \    /                          \    /    \/        \/  \/
   \  /                            \  /                     
    \/                              \/                      
'@)

# Test 24
,(24,@'
    /\            /\                    
   /  \          /  \        /\         
  /____\        /____\      /__\    /\  
_)______(______)______(____)____(__)__()
         Y    Y        Y  Y      YY     
          \  /          \/              
           \/                           
'@,@'
    /\            /\                    
   /  \          /  \        /\         
  /    \        /    \      /  \    /\  
_/      \      /      \    /    \  /  \/
         \    /        \  /      \/     
          \  /          \/              
           \/                           
'@)

# Test 25
,(25,@'
   /\            /\                    
  /__\          /__\        /\         
_)____(________)____(______)__(____)(__
       Y      Y      Y    Y    Y  Y  YY
        \    /        \  /      \/     
         \  /          \/              
          \/                           
'@,@'
   /\            /\                    
  /  \          /  \        /\         
_/    \        /    \      /  \    /\  
       \      /      \    /    \  /  \/
        \    /        \  /      \/     
         \  /          \/              
          \/                           
'@)

# Test 26
,(26,@'
  /\            /\                    
_)__(__________)__(________)(_________
     Y   ||   Y    Y      Y  Y    YY  
      \  ||  /      \    /    \  /  \/
       \ || /        \  /      \/     
        \||/          \/              
         \/                           
'@,@'
  /\            /\                    
_/  \          /  \        /\         
     \        /    \      /  \    /\  
      \      /      \    /    \  /  \/
       \    /        \  /      \/     
        \  /          \/              
         \/                           
'@)

# Test 27
,(27,@'
_)(____________)(_____________________
   Y    ||    Y  Y   ||   YY    ||    
    \   ||   /    \  ||  /  \   |/\  /
     \  ||  /      \ || /    \  /  \/ 
      \ || /        \||/      \/      
       \||/          \/               
        \/                            
'@,@'
_/\            /\                     
   \          /  \        /\          
    \        /    \      /  \    /\  /
     \      /      \    /    \  /  \/ 
      \    /        \  /      \/      
       \  /          \/               
        \/                            
'@)

# Test 28
,(28,@'
____________________________________
 Y     ||     YY         ||         
  \    ||    /  \        /\         
   \   ||   /    \      /  \    /\  
    \  ||  /      \    /    \  /  \/
     \ || /        \  /      \/     
      \||/          \/              
       \/                           
'@,@'
_                                   
 \            /\                    
  \          /  \        /\         
   \        /    \      /  \    /\  
    \      /      \    /    \  /  \/
     \    /        \  /      \/     
      \  /          \/              
       \/                           
'@)

# Test 29
,(29,@'
_____________________________
 Y            ||            Y
  \        /\ || /\      /\/ 
   \  /\  /  \||/  \  /\/    
    \/  \/    \/    \/       
'@,@'
_                            
 \                          /
  \        /\    /\      /\/ 
   \  /\  /  \  /  \  /\/    
    \/  \/    \/    \/       
'@)

# Test 30
,(30,@'
_____
 Y  Y
  \/ 
'@,@'
_    
 \  /
  \/ 
'@)

# Test 31
,(31,@'
       /\    
    /\/__\   
___)______(__
 YY        YY
'@,@'
       /\    
    /\/  \   
_  /      \  
 \/        \/
'@)

# Test 32
,(32,@'
      /\     
     /  \    
    /____\   
___)______(__
 YY        YY
'@,@'
      /\     
     /  \    
    /    \   
_  /      \  
 \/        \/
'@)

# Test 33
,(33,@'
_______
 Y    Y
  \/\/ 
'@,@'
_      
 \    /
  \/\/ 
'@)

# Test 34
,(34,@'
_)()()()()()()()()()()()()()()()()()(
'@,@'
_/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
'@)

) | % {
    $num, $expected, $s = $_
    $result = &$f $s
    $passed=$result-eq$expected
    "$num : $passed"
    # $result           # uncomment this line to display results

    $pass+=$passed
    $count+=1
}

"$pass/$count passed."

আউটপুট:

2 : True
1 : True
3 : True
4 : True
5 : True
6 : True
7 : True
8 : True
9 : True
10 : True
11 : True
12 : True
13 : True
14 : True
15 : True
16 : True
17 : True
18 : True
19 : True
20 : True
21 : True
22 : True
23 : True
24 : True
25 : True
26 : True
27 : True
28 : True
29 : True
30 : True
31 : True
32 : True
33 : True
34 : True
34/34 passed.

ব্যাখ্যা কমিকস:

Start here:
    /\                  /\                  /\        
   /  \                /  \                /  \       
  /    \              /    \              /    \      
_/      \            /      \            /      \     
         \          /        \          /        \    
          \        /          \        /          \   
           \      /            \      /            \  
            \    /              \    /              \ 
             \  /                \  /                \
              \/                  \/                  

Match and zoom it!
  /    \              /    \              /    \      $ceiling \
_/      \            /      \            /      \     $road    |  $outline
         \          /        \          /        \    $bottom  /

Start ceiling:
  /_   \              /_   \              /_   \      $ceiling \
_/      \            /      \            /      \     $road    |  $outline
         \          /        \          /        \    $bottom  /

Dig tunnels, build a road:
  /_   \              /_   \              /_   \      $ceiling \
_)______(____________)______(____________)______(_____$road    |  $outline
         \          /        \          /        \    $bottom  /

Attach to the road the top parts of pillars:
  /_   \              /_   \              /_   \      $ceiling \
_)______(____________)______(____________)______(_____$road    |  $outline
         \    ||    /        \    ||    /        \    $bottom  /

The road need support:
  /____\              /____\              /____\      $ceiling \
_)______(____________)______(____________)______(_____$road    |  $outline
         Y    ||    Y        Y    ||    Y        Y    $bottom  /

Put the road back into mountainous lands:
    /\                  /\                  /\        
   /  \                /  \                /  \       
  /_   \              /_   \              /_   \      $ceiling \
_)______(____________)______(____________)______(_____$road    |  $outline
         Y    ||    Y        Y    ||    Y        Y    $bottom  /
          \        /          \        /          \   
           \      /            \      /            \  
            \    /              \    /              \ 
             \  /                \  /                \
              \/                  \/                  

Build ceilings and build down pillars:
    /\                  /\                  /\        
   /  \                /  \                /  \       
  /__  \              /__  \              /__  \      
_)______(____________)______(____________)______(_____
         Y    ||    Y        Y    ||    Y        Y    
          \   ||   /          \   ||   /          \   
           \      /            \      /            \  
            \    /              \    /              \ 
             \  /                \  /                \
              \/                  \/                  

A few iterations later...
    /\                  /\                  /\        
   /  \                /  \                /  \       
  /____\              /____\              /____\      
_)______(____________)______(____________)______(_____
         Y    ||    Y        Y    ||    Y        Y    
          \   ||   /          \   ||   /          \   
           \  ||  /            \  ||  /            \  
            \ || /              \ || /              \ 
             \||/                \||/                \
              \/                  \/                  

Thanks. But our princess is in another castle!
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.