Aveেউ-কণা দ্বৈততা পর্যায়ক্রমে প্রোগ্রামগতভাবে


30

এমন কোনও প্রোগ্রাম বা ফাংশন লিখুন যা অযৌক্তিক একক-লাইনের স্ট্রিংয়ের মধ্যে পড়ে। স্ট্রিং হয় শূন্য বা আরও বেশি স্পেসের পরে এক সময়কাল (একটি কণা ), যেমন .বা          ., বা স্ট্রিংটি এক বা একাধিক পর্যায়ক্রমে সামনের দিকে এবং পিছনে স্ল্যাশগুলির (একটি তরঙ্গ ) ক্রম হবে যা যে কোনও একটি দিয়ে শুরু হতে পারে, যেমন যেমন \বা /\/বা \/\/\/\/\/\/

উভয় ক্ষেত্রেই, একক দ্বারা ডানদিকে কণা / তরঙ্গ প্রচার করুন ।

বিশেষত, কণার ক্ষেত্রে, এর আগে একটি স্থান সন্নিবেশ করান ., এটিকে এক জায়গায় ডান দিকে নিয়ে যান, তারপরে ফলাফলটি স্ট্রিং আউটপুট করুন। উদাহরণ স্বরূপ:

. .
 .  .
  .   .
   .    .
    .     .
     .      .
      .       .
       .→ →        .

তরঙ্গ ক্ষেত্রে, হয় /বা \যথাযথভাবে সংযোজন করুন যাতে তরঙ্গটি পর্যায়ক্রমে থাকে এবং এর দৈর্ঘ্য এক এক করে বৃদ্ধি পায়, ফলস্বরূপ স্ট্রিংটিকে আউটপুট দিন। উদাহরণ স্বরূপ:

//\
\\/
/\/\/
\/\/\
/\//\/\
\/\\/\/
/\/\/\/\/
\/\/→ →\/\/\

উভয় ক্ষেত্রেই, আউটপুটটিতে পিছনের স্থানগুলি নাও থাকতে পারে তবে lineচ্ছিক ট্রেলিংয়ের নতুন লাইনের অনুমতি রয়েছে।

বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
ডেনিস

উত্তর:


16

সি, 69 বাইট

p;f(char*s){p=s[strlen(s)-1]^46;p^=p?93:3022856;printf("%s%s",s,&p);}

এটির জন্য একটি সামান্য এন্ডিয়ান মেশিন প্রয়োজন হয় এবং একটি টার্মিনাল আউটপুট যা ASCII এস্কেপ কোডগুলি সমর্থন করে।

p=s[strlen(s)-1]^46 ইনপুট স্ট্রিংয়ের সর্বশেষ ASCII কোডটি ধরে এবং এটিকে কোনও বিন্দুর ASCII কোডের সাথে এক্সওআরএস দেয়।

p^=p?93:3022856কারণ হবে pহতে p^93যদি হওয়া ASCII কোড একটি (পেছনে) স্ল্যাশ, যেখানে নয় p^46^93 == p^115, যা পিছনে ফরোয়ার্ড স্ল্যাশ মধ্যে টগল হবে। যদি pকোনও বিন্দু হয় তবে এটি পরিবর্তে হবে 3022856, যা স্বল্প-এন্ডিয়ান "\b ."

printf("%s%s",s,&p);pসামান্য-এডিয়ান বাইট স্ট্রিং হিসাবে ব্যাখ্যা করে পূর্ণসংখ্যা অনুসারে ইনপুট স্ট্রিংটি মুদ্রণ করে ।


1
এটি খাঁটি প্রতিভা।
লিকি নুন

মাল্টিবাইট অক্ষর আক্ষরিক 3022856সাথে প্রতিস্থাপন করে আপনি একটি বাইট সংরক্ষণ করতে পারেন '. \b'। দুর্দান্ত উত্তর!
কোয়ান্টিন

যে কেউ স্ট্যান্ডলিব স্টাফ ব্যবহার করে না এমন কোনও সংস্করণ নিয়ে আসতে পারে? :)
টাইলার Y86

12

জেলি , 17 14 বাইট

ṪO*2.ị“ .\/\”ṭ

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

কিভাবে এটা কাজ করে

ṪO*2.ị“ .\/\”ṭ  Main link. Argument: s (string)

Ṫ               Tail; pop and yield the last character.
 O              Ordinal; map “./\” to [46, 47, 92].
  *2.           Elevate the code point to the power 2.5.
                This maps [46, 47, 92] to [14351.41, 15144.14, 81183.84].
     ị“ .\/\”   Index into that string.
                Jelly's indexing is modular, so this takes the indices modulo 5,
                which gives [1.41, 4.14, 3.84].
                Also, for a non-integer index, ị retrieves the elements at both
                adjacent integer indices (1-based). Here, these are [1, 2], [4, 5],
                and [3, 4], so we get " .", "/\", or "\/".
             ṭ  Tack; append the characters to the popped input string.

7

সিজেম, 16 বাইট

l)_'.={S\}"\/"?|

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

কিভাবে এটা কাজ করে

l                 Read a line from STDIN.
 )_               Shift out the last character and copy it.
   '.=            Compare the copy with a dot.
              ?   If the last character is a dot:
      {S\}            Push " " and swap the dot on top.
          "\/"    Else, push "\/".
               |  Perform set union, ordering by first occurrence.
                    " " '.  | -> " ."
                    '/ "\/" | -> "/\"
                    '\ "\/" | -> "\/"

1
স্বরে নোট করুন: ইউনিয়ন কীভাবে কাজ করে তা শিখুন। এটি মনে হয় যেখানে আমার সাথে তুলনা করার সময় বেশিরভাগ বাইট সংরক্ষণ করা হয়েছিল।
Zwei

6

পাইথন, 41 বাইট

lambda s:[s+'\/'[s[-1]>'/'],' '+s][s<'/']

কেসওয়ার্ক। বাছাই করা ক্রম ব্যবহার করে ' ', '.', '/', '\'। স্পেসস এবং পিরিয়ডের জন্য, একটি স্পেস প্রিন্ট করে। অন্যথায়, শেষ অক্ষরের বিপরীতে একটি স্ল্যাশ বা কৃষ্ণাঙ্গ সংযোজন।


5

পাইথন, 44 42 বাইট

lambda s:s[:-1]+"\/ /\."[-ord(s[-1])&3::3]

দুটি অক্ষরের আনুষ্ঠানিক সেট দিয়ে শেষ চরিত্রটি প্রতিস্থাপন করে। আদর্শ লিঙ্ক

(-২ বাইটস @ xsot এর সংক্ষিপ্ত ম্যাপিং ফাংশনকে ধন্যবাদ)


-ord(s[-1])&3এছাড়াও 3 বিভিন্ন সূচক দেয়।
xsot

@ এক্সসট ওহ সুন্দর, আমি ভেবে দেখিনি &!
Sp3000

এইবার মেম নেই? : '(
থ্রিএফএক্স

5

গেম মেকার ল্যাঙ্গুয়েজ, 107 বাইট

s=argument0;if string_pos(" ",s)return " "+s;if string_pos(s,string_length(s))="/"s+="\"else s+="/"return s

5

ভিম, 27 23 টি কীস্ট্রোক

প্রথম ভীম উত্তর কখনও, এমনকি এমনকি এমনকি এমনকি vim ব্যবহার করেন নি।

A/<esc>:s#//#/\\<cr>:s#\./# .<cr>

এটি কীভাবে কাজ করে: এটি /লাইনের শেষে একটি সংযোজন করে , সাবস //জন্য /\, সাবস ./জন্য .


/উদাহরণস্বরূপ, আপনি যদি অন্য একটি ডিলিমিটার ব্যবহার করেন তবে আপনি এসকে এড়ানো এড়াতে পারবেন s#//#/\\
এম-ক্রিজান

ধন্যবাদ, এর অস্তিত্বের মতো আমার কোনও ধারণা ছিল না
ধ্বংসাত্মক লেবু

4

এমএটিএল , 19 বাইট

t47<?0w}'\/'yO)o)]h

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

t        % Input string implicitly. Duplicate
47<      % Are entries less than 47 (i.e dot or spaces)?
?        % If all are
  0      %   Push a 0. When converted to char it will be treated as a space
  w      %   Swap, so that when concatenated the space will be at the beginning
}        % Else
  '\/'   %   Push this string
  y      %   Duplicate the input string onto the top of the stack
  O)     %   Get its last element
  o      %   Convert to number    
  )      %   Use as (modular) index to extract the appropripate entry from '\/'
]        % End
h        % Concatenate string with either leading 0 (converted to char) or
         % trailing '\'  or '/'. Implicitly display

3

সিজেম, 35 26 25 বাইট

ডেনিসের জন্য 9 টি বাইট সংরক্ষণ করা হয়েছে

ডেনিসকে আরও 1 টি বাইট সংরক্ষণ করা হয়েছে

q:I'.&SI+IW='/=I'\+I'/+??

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

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

ব্যাখ্যা:

q:I e# take input
'.& e# push union of input and ".", effectively checking if input contains it
SI+ e# push string with space in beginning
IW='/= e# push 1 if the last chsaracter in the input is /
I'\+ e# push the input with a \ appended
I'/+ e# push the input with a / appended
? e# ternary if to select correct /
? e# ternary if to select final result

1
Wপ্রাথমিকভাবে -1এবং ?ব্লক এবং অন্যান্য স্ট্যাক আইটেম উভয়ই কাজ করে, যাতে আপনি আপনার কোডটি কমিয়ে আনতে পারেনq:I'.#)SI+IW='/=I'\+I'/+??
ডেনিস

1
কোনও অক্ষর কোনও স্ট্রিংয়ের সাথে সম্পর্কিত কিনা তা পরীক্ষা করতে আপনি এগুলি ছেদ করতে পারেন &
ডেনিস

আমি সিজেম লওলে খুব খারাপ
Zwei


2

সি, 85 বাইট

j;f(char*n){j=strlen(n)-1;printf("%s%s",n[j]<47?" ":n,n[j]==46?n:n[j]==47?"\\":"/");}

Ideone

আমি প্রায় 20 ঘন্টা ঘুমাইনি, আমার কোডটি সম্ভবত প্রচুর গল্ফ করা যেতে পারে।



2

মতলব, 74 71 62 57 বাইট

@(s)[s(1:end-1) ' .'+(s(1)>46)*'/.'+(s(end)>47)*[45 -45]]

এটি s(1)(প্রথম চরিত্রের) উপর ভিত্তি করে শেষ দুটি অক্ষরকে গণনা করে - আমরা কেসটি নিয়ে কাজ করছি কিনা তা নির্ধারণ করতে \/, এবং চরিত্রগুলির s(end)জন্য সঠিক টিপল তৈরির জন্য শেষ \/চরিত্রটি।


2

রেটিনা, 19 বাইট

\.
 .
/$
/\^H
\\$
\/

^Hবিএস বাইট উপস্থাপন করে। এটি অনলাইন চেষ্টা করুন!


ব্যাকস্পেস চরিত্রটি কেন?
রবার্ট ফ্রেজার

এটি না করে, পরবর্তী প্রতিস্থাপনটি ট্র্যাকিং ব্যাকস্ল্যাশের সাথে মেলে। উদাহরণস্বরূপ, ইনপুট /হয়ে যাবে /\/
ডেনিস

2

> <> , 47 বাইট

i:0(?\
*=?$r\~:1[:"./ \/"{=?@r=?$r~~]:48
l?!;o>

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

প্রথম লাইনটি একটি মানক> <> ইনপুট লুপ। দ্বিতীয় লাইনটি / \শেষ ইনপুট অক্ষরের উপর ভিত্তি করে স্ট্রিংয়ের সাথে যুক্ত হওয়ার জন্য উপযুক্ত চরিত্রটি চয়ন করে । তদ্ব্যতীত, শেষ ইনপুট চরিত্রটি যদি একটি হয় .তবে শীর্ষ দুটি উপাদানগুলি স্যুইচ করা আছে। শেষ অবধি, স্ট্যাকের সামগ্রীগুলি বিপরীতে মুদ্রিত হয়।


2

জাভাস্ক্রিপ্ট, 79 70 65 58 বাইট

(a,b="/\\/",i=b.indexOf(a[a.length-1]))=>i<0?" "+a:a+b[i+1]

1
কিছু বাইট সংরক্ষণ করতে এর b.charAt(i+1)সাথে প্রতিস্থাপন করুন b[i+1]। এছাড়াও, এটি সমস্ত পরীক্ষার ক্ষেত্রে কাজ করে না। \/উদাহরণস্বরূপ `/ \` দেয়।
ব্যবহারকারী 2428118

@ ইউজার ২৪২৮১৮৮ ধন্যবাদ, বাগ সংশোধন করা হয়েছে এবং কোডটি ছোট করা হয়েছে!
kamoroso94

1
init bএবং iডিফল্ট মান সঙ্গে প্যারাম হিসাবে: (a,b=...,i=...)=>এড়াতেreturn
চার্লি

হ্যাঁ হ্যাঁ, আমি সেই নতুন বৈশিষ্ট্যটি ভুলে গিয়েছিলাম। এছাড়াও { }ভাল কারণ সরানোর জন্য সক্ষম ছিল ।
kamoroso94

আসলে, আরো কয়েকটি ধাপ সঙ্গে, আপনি @ TylerY86 এর উত্তর বিন্দুতে মিলিত হবে
চার্লি


2

হাস্কেল, 46 45 44 বাইট

f z@(x:_)|x<'/'=' ':z|x<'0'='\\':z|1<2='/':z

আসলে সুবিধা নেয় যে < .< /< 0< \দুই বাইট সংরক্ষণ করতে হওয়া ASCII টেবিলের


1

পাইথন 2, 72 বাইট

lambda x:x[:-1]+(" .","\/","/\\")[ord(x[-1])/46+(-1,1)[ord(x[-1])%46>0]]

আরও গল্ফ করা যে কোনও সহায়তা প্রশংসিত হবে!

এটি ইনপুটটিতে শেষ অক্ষরটি গ্রহণ করে এবং দুটি অক্ষরের তালিকায় সংশ্লিষ্ট সূচকটি পেতে এটিটিকে তার ASCII কোডে রূপান্তর করে। শেষ দুটি না হওয়া পর্যন্ত এই দুটি অক্ষর ইনপুটটির সমস্ত অক্ষরে যুক্ত হয়।


1

এসকিউএফ, 91

ফাইল হিসাবে ফাংশন হিসাবে ব্যবহার:

s=_this;switch(s select[(count s)-1])do{case".":{" "+s};case"\":{s+"/"};case"/":{s+"\"};}

যেমন কল "STRING" call NAME_OF_COMPILED_FUNCTION


1

পার্ল, 30 + 1 ( -p) = 31 বাইট

s/\./ ./,s|/$|/\\|||s|\\$|\\/|

চাহিদা -pএবং -M5.010বা -Eচালানোর জন্য:

perl -pE 's/\./ ./,s|/$|/\\|||s|\\$|\\/|' <<< ".
  .
    .
/
/\/" 

সরাসরি চ্যালেঞ্জ বাস্তবায়ন। (নোট করুন যে ||শেষ দুটি রেজেক্সের মধ্যবর্তীটি হ'ল orএটি পড়া যেমন শক্ত হতে পারে, তাই তিনটি রেজেক্স হ'ল: s/\./ ./এবং s|/$|/\\|, এবং s|\\$|\\/|)


1

সি #, 54 বাইট

s=>s.EndsWith(".")?" "+s:s+(s.EndsWith("/")?"\\":"/");

আপনার জন্য একটি 46 বাইট প্রতিযোগী সরবরাহ করেছেন। :)
টাইলার Y86

1

পাওয়ারশেল ভি 2 +, 59 58 52 51 বাইট

param($n)(" $n","$n/","$n\")['.\/'.IndexOf($n[-1])]

ইনপুট নেয় $n, এটিকে একটি অ্যারে সূচক অপারেশন ডাম্প করে। আমরা অ্যারে সূচির উপর ভিত্তি করে উপাদান নির্বাচন ['.\/'.IndexOf($n[-1])- অর্থাত, ইনপুটের শেষ অক্ষর উপর ভিত্তি করে $n, এই পরিণাম ডেকে আনবে 0, 1অথবা 2। এটি অ্যারের উপযুক্ত স্ট্রিংয়ের সাথে মিলে যায়। যাই হোক না কেন, ফলস্বরূপ স্ট্রিংটি পাইপলাইনে রেখে যায় এবং মুদ্রণ অন্তর্ভুক্ত।

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

PS C:\Tools\Scripts\golfing> 0..7|%{' '*$_+'.'}|%{"$_ => "+(.\wave-particle-duality.ps1 "$_")}
. =>  .
 . =>   .
  . =>    .
   . =>     .
    . =>      .
     . =>       .
      . =>        .
       . =>         .

PS C:\Tools\Scripts\golfing> '/,\,/\,\/,/\/,\/\,/\/\,\/\/'-split','|%{"$_ => "+(.\wave-particle-duality.ps1 "$_")}
/ => /\
\ => \/
/\ => /\/
\/ => \/\
/\/ => /\/\
\/\ => \/\/
/\/\ => /\/\/
\/\/ => \/\/\

1

সি #, 80 63 বাইট

s=>{var c=s[s.Length-1];retu‌​rn c<'/'?" "+s:c>'/'?s+"/":s+"\\‌​";}

আপনি এটি একটি ল্যাম্বডা এক্সপ্রেশন ব্যবহার করে কাজ করতে পারেন?
টাইলার Y86

s=>{var c=s[s.Length-1];return c<'/'?" "+s:c>'/'?s+"/":s+"\\";}63 ডটনেটফিল্ড.নেট
টাইলারওয়াই Aug86

s=>{var c=s[s.Length-1];return c<47?' '+s:s+(c>47?'/':'\\');}61 dotnetfiddle.net/ykKIL1
TylerY86

আপনার জন্য একটি 46 বাইট প্রতিযোগী যুক্ত করা হয়েছে। :)
টাইলার Y86

1

লিনাক্স এআরএম মেশিন কোড, 50 বাইট

হেক্স ডাম্প:

b580 1e41 f811 2f01 2a00 d1fb 3901 780b 1a0a 4601 2001 2704 df00 2000 a103 2202 f013 0303 2b03 4159 df00 bd80 2e202f5c 5c2f

এখানে প্রথম পোস্ট, আশা করি আমি এটি সঠিকভাবে করছি। এটি 32-বিট এআরএম সমাবেশ, বিশেষত থাম্ব -2। ইনপুট স্ট্রিং একটি NUL- টার্মিনেটেড স্ট্রিং যা r0 এর মাধ্যমে নেওয়া হয়, আউটপুটটি স্টাডাউটে মুদ্রিত হয়। সি-সিনট্যাক্সে, ফাংশনটির প্রোটোটাইপটি শূন্য ফান_নাম (চর * স্ট্রিং) হবে। এটি এএপসিএস (এআরএম কলিং কনভেনশন) অভিযোগ, যদি এটি না করা হয় তবে 2 বাইট না শেভ করা যেত।

এখানে কী হচ্ছে তা ব্যাখ্যা করার সাথে সমতুল্য সমাবেশটি এখানে:

    @Input: r0 is char* (the string)
    @Output: Modified string to console
    push {r7,lr} @Save r7 and the link register
    subs r1,r0,#1 @Make a copy of the char*, subtracting because we're
    @going to pre-increment.
    loop: @This loop is a little strlen routine
            ldrb r2,[r1,#1]! @In C-syntax, r2=*++r1;
            cmp r2,#0
            bne loop
    @Now r1 points to the null character that terminates the string
    subs r1,r1,#1 @Make r1 point to the last character
    ldrb r3,[r1] @Load the last character into r3
    subs r2,r1,r0 @r2=length(r0) - 1;
    mov  r1,r0 @r0 holds the original char*
    movs r0,#1 @1 is the file descriptor for stdout
    movs r7,#4 @4 is write
    swi #0

    @Now all the characters from the initial string have been printed,
    @except for the last one, which is currently in r3.

    movs r0,#1 @1 is stdout, have to reload this since the system call
    @returns in r0.
    adr r1,msg @Load msg into r1 (the pointer to the string)
    movs r2,#2 @We're going to print two more characters.

    @Now the bit magic. The ascii codes for '\', '.', and '/' map onto
    @0, 2, and 3 when bitwise anded with 3 (0b11).
    @This will be the offset into our string. However, since we must print
    @2 characters, we need our offsets to be 0, 2, and 4.
    @Therefore, we only set the carry if our value is >=3, then add with
    @carry (adcs). Thus we get the correct offset into the string msg.
    ands r3,r3,#3
    cmp r3,#3 @Sets carry if r3>=3
    adcs r1,r1,r3 @Add the offset to r1
    swi #0 @Make the system call
    pop {r7,pc} @Return and restore r7
msg:
    .ascii "\\/ ./\\" @The three different sequences of 2 characters that
    @can go at the end.

1

ECMAScript 6/2015 (জাভাস্ক্রিপ্ট), 41 বাইট

s=>s<'/'?' '+s:s+'\\/'[s.slice(-1)>'/'|0]

ভাল ধরা পড়ল নীলকে।


আপনার আউটপুটটি ভুল বলে মনে হচ্ছে। স্ল্যাশগুলির জন্য, আপনার কোডটি পরবর্তী স্ল্যাশ যুক্ত করা উচিত, এটি প্রেন্ডিং করা উচিত নয়।
ডেনিস

সমন্বিত উত্তর।
টাইলার Y86

কেন হবে না +(s+1)?
নীল

আরও ভাল s<'/',।
নিল

1

আর, 119 বাইট

a=scan(,"");if((q=strsplit(a,"")[[1]][nchar(a)])=="."){cat(" ",a,sep="")}else{s=switch(q,"/"="\\","/");cat(a,s,sep="")}

অসমাপ্ত:

a=scan(,"")
if((q=strsplit(a,"")[[1]][nchar(a)])==".")
    cat(" ",a,sep="")

else
s=switch(q,"/"="\\","/")
cat(a,s,sep="")

1

এসইডি, 41 36 27

চার্লি ধন্যবাদ 7 সংরক্ষণ করা

 s|\.| .|;s|/$|/\\|;t;s|$|/|

3 বদল ব্যবহার করে:
s/\./ ./যদি সেখানে একটি একটি স্থান যোগ করা .
s|/$|/\\|, s|$|/|শেষ উপযুক্ত স্ল্যাশ যোগ
ব্যবহারসমূহ |পরিবর্তে /বিভেদক হিসাবে

t শেষে শাখাগুলি যদি দ্বিতীয় রেজেক্সের সাথে মেলে তাই এটি অন্য স্ল্যাশ যুক্ত করে না


আমি সবেমাত্র একটি প্রায় অভিন্ন সমাধানে এসেছি: s/\./ ./;s./$./\\.;t;s.$./.- এটি 27 বাইট। 3 য় বিকল্পটি সরল করা হয়েছে এবং আমার সিস্টেমে সিস্টেমটির -reপ্রয়োজন নেই। এছাড়াও, আমি ইনপুট স্পেসে দৃশ্যমান থাকার .পরিবর্তে ব্যবহার করি #। ; ও)
চার্লি

1

টার্টলিড , 32 বাইট ( নন-কেপটিং )

l!-[*+.r_]l(/r'\r)(\r'/)(." .")$

ব্যাখ্যা:

[implicit]                       first cell is an asterisk

l                                move left, off the asterisk, so the '[*+.r_]' loop runs
 !                               take input into string var, char pointer=0, 1st char
  -                              decrement char pointer, mod length input             

   [*    ]                       while current cell isn't *:
     +.                          increment string pointer, and write the pointed char
       r_                        move right, write * if pointed char is last char, else " "

          l                      move left

           (/    )               if the current cell is /
             r'\r                move right, write /, move right

                  (\   )         If the current cell is \
                    r'/          move right, write /

                        (.    )  If the current cell is .
                          " ."   Write " .", the first space overwriting the existing '.'

                               $ Program won't remove leading spaces when printing

    [implicit]                   Program prints grid after finishing execution

1

জাভা 7, 76 বাইট

String c(String i){return i.contains(".")?" "+i:i+(i.endsWith("/")?92:'/');}

অনেকটাই অকপট.

অবরুদ্ধ এবং পরীক্ষার কোড:

এখানে চেষ্টা করুন।

class M{
  static String c(String i){
    return i.contains(".")
            ? " " + i
            : i + (i.endsWith("/")
                    ? 92
                    : '/');
  }

  public static void main(String[] a){
    System.out.println(c(" ."));
    System.out.println(c("  ."));
    System.out.println(c("   ."));
    System.out.println(c("    ."));
    System.out.println(c("     ."));
    System.out.println(c("      ."));
    System.out.println(c("       ."));
    System.out.println(c("        ."));
    System.out.println(c("/"));
    System.out.println(c("\\"));
    System.out.println(c("/\\"));
    System.out.println(c("\\/"));
    System.out.println(c("/\\/"));
    System.out.println(c("\\/\\"));
    System.out.println(c("/\\/\\"));
    System.out.println(c("\\/\\/"));
  }
}

আউটপুট:

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