Tôi sẽ tip qua?


36

Tổng quan

Đưa ra một chuỗi 3 dòng, tìm hiểu xem cấu trúc rơi sang trái, cân bằng hoặc rơi sang phải.

Cơ cấu đầu vào

Bạn có thể tưởng tượng cấu trúc như một thanh kim loại với các công cụ trên đầu, tất cả được cân bằng trên đầu của một thanh dọc.

1  7 4        a
===============
        |

Dòng đầu tiên là các mặt hàng. Trọng lượng của mỗi vật phẩm được tính bằng giá trị ascii của ký tự trừ 32. (Ký tự dưới 32 không được xem xét và khoảng trắng có trọng lượng 0). Hãy nhớ rằng lực của một vật phẩm trên thanh là trọng lượng của nó nhân với khoảng cách đến điểm trục.

Dòng thứ hai là que. Mỗi chiều dài của thanh nặng 1 đơn vị. Dòng này là độc quyền bằng dấu ( =).

Dòng thứ ba là điểm mấu chốt. Điều này có thể được đặt ở bất cứ đâu và được thể hiện bằng một số khoảng trắng theo sau bởi một |ký tự pipe ( ).

Ví dụ

Đầu vào:

=====
  |

Đầu ra: Cân bằng

Đầu vào:

=====
   |

Đầu ra: Thác trái

Đầu vào:

    %
=====
   |

Đầu ra: Cân bằng (Vì %nặng đủ để chống lại trọng lượng của bên trái của thanh)

Đầu vào:

 aa
=======
   |

Đầu ra: Ngã phải (vì abên phải cách xa điểm trục)

Đầu vào:

1  7 4        A
===============
        |

Đầu ra: Thác trái

Đầu vào:

1  7 4        a
===============
        |

Đầu ra: Ngã phải (chữ in thường nặng!)

Đầu vào:

            $ ~
===============
             |

Đầu ra: Cân bằng

Ghi chú

  • Khoảng trắng Trailing được cho phép, khoảng trắng hàng đầu là không.
  • Chương trình của bạn có thể xuất ra ở bất kỳ định dạng nào bạn thích, miễn là có 3 đầu ra riêng biệt cho trái, cân bằng và phải.
  • Chương trình của bạn phải chấp nhận định dạng hiển thị như đầu vào.


Chương trình có thể lấy ba dòng làm ba chuỗi riêng biệt (ví dụ như ba đối số cho một hàm hoặc làm danh sách ba phần tử) không?
notjagan

@notjagan Đầu vào phải là một chuỗi được phân tách bằng các ký tự dòng mới.
Daffy

Liên quan , có thể dupe.
xnor

@xnor Không phải là một bản sao vì câu hỏi đó chỉ liên quan đến các chữ cái viết hoa và mục tiêu của nó là tìm ra trục. Câu hỏi của tôi là về tất cả các ký tự ascii> = 32, và tôi cung cấp trục và hỏi xem cấu trúc có bị đổ không. Về cơ bản là đảo ngược của một trong những bạn liên kết.
Daffy

Câu trả lời:


8

JavaScript (ES6), 116 111 108 106 byte

-5 byte bằng cách tổng hợp qua eval(array.join`+`)thay vì array.reduce().
-3 byte bằng cách mặc định 1thay vì 32 - 31, cho phép xóa dấu ngoặc đơn.
-2 byte vì điểm mấu chốt là độ dài của dòng cuối cùng - 1

(s,[t,r,b]=s.split`
`)=>Math.sign(eval([...r].map((_,i)=>(t.charCodeAt(i)-31||1)*(i-b.length+1)).join`+`))

Kết quả đầu ra -1, 0hoặc 1, cho trái, cân, hoặc phải, tương ứng. Kết thúc tương tự như câu trả lời trăn của Chas Brown , vì vậy tín dụng đến đó.

Có thể lưu 4 byte nếu dòng đầu tiên được đệm để phù hợp với chiều dài của thanh bằng cách sử dụng
(31-t.charCodeAt(i))*(b.length+~i).

Kiểm tra đoạn trích

Bao gồm đầu ra bổ sung ( Left/ Balanced/ Right) cùng với số.

f=
(s,[t,r,b]=s.split`
`)=>Math.sign(eval([...r].map((_,i)=>(t.charCodeAt(i)-31||1)*(i-b.length+1)).join`+`))
<textarea id=I rows=3 cols=20></textarea><br><button onclick="O.value=I.value?`${x=f(I.value)} (${['Left','Balanced','Right'][x+1]})`:''">Run</button> <input id=O disabled>

Một phương thức 106 byte khác

(s,[t,r,b]=s.split`
`)=>Math.sign(eval(r.replace(/./g,(_,i)=>"+"+(t.charCodeAt(i)-31||1)*(i-b.length+1))))

Thay vì joining một mảng trên +s, chúng ta tạo một chuỗi số, mỗi số có tiền tố +. Việc dẫn đầu +bị bỏ qua.


1
Tôi nghĩ (b.length+~i)có thể giúp tiết kiệm một byte. (Ngoài ra tôi không hiểu tại sao bạn có ||1.)
Neil

1
@Neil b.length+~itrả về âm của i-b.length+1; Điều đó có thể giúp nếu tôi có thể phủ nhận phần khác. Đối với ||1, đó là bởi vì tôi đã giả sử rằng dòng đầu tiên không được đệm để phù hợp với chiều dài của thanh, do đó t.charCodeAt(i)sẽ trở lại NaNvượt quá cuối dòng đầu tiên.
Justin Mariner

Mặc dù tôi đã không thử một trường hợp thử nghiệm không đệm; cảm ơn vì đã giải thích.
Neil

3

Python 2 , 112 110 byte

def f(s):w,b,p=s.split('\n');return cmp(sum((ord((w+' '*-~i)[i])-31)*(i-p.find('|'))for i in range(len(b))),0)

Hãy thử trực tuyến!

EDIT: Cuối cùng đã xoay sở để loại bỏ enumeraterjustcho 2 byte ...

Đưa vào một chuỗi; đầu ra -1,0 hoặc 1 cho ngã trái, số dư, ngã phải, tương ứng.

Vượt qua đầu tiên ở 112 byte là:

def f(s):w,b,p=s.split('\n');return cmp(sum((ord(c)-31)*(i-p.find('|'))for i,c in enumerate(w.rjust(len(b))),0)

(ord(c)-31)Mất một lúc tôi mới nhận ra rằng điều này thực sự kết hợp trọng lượng của chính thanh cùng với các vật phẩm. Rất thông minh!
Daffy

1
Theo meta , bạn có thể thay thế returnbằng print-1 byte (mặc dù nó không thực sự chơi tốt với mã TIO hiện tại).
notjagan

3

Haskell, 212 171 byte (188 nếu lấy đầu vào là một chuỗi)

o!p=map(fst)(zip[p-0,p-1..]o)
x#p=sum(zipWith(\c w->(max(fromEnum c-32)0)*w)x(x!p))+sum(x!p)
x?c=length(takeWhile(==c)x)

Biến thể 171 byte

r a b c=signum(take(b?'=')(a++repeat ' ')#(c?' '))

Biến thể 188 byte

x%y=lines x!!y
r i=signum(take(i%1?'=')(i%0++repeat ' ')#(i%2?' '))

Giải trình

o!p=map(fst)(zip[p-0,p-1..]o)        Creates weights coefs list. 
                                     o - list, p - pivot position
                                     for list "abcdf" and p=3 (pivot under 'd')
                                     outputs [3,2,1,0,-1]

x#p                                  Calculates total balance
                                     x-list of "objects" on lever, p-pivot place
  sum(zipWith                        sum of zipped lists
   (\c w->(max(fromEnum c-32)0)*w)   weight of ascii "object" times
                                     distance from pivot
    x(x!p))                          x-ascii objects, 
                                     (x!p)-distances list(weight coefs)
  +sum(x!p)                          balance of lever ("==") itself

x?c=length(takeWhile(==c)x)          length of list before non c element met
                                     used to find '|' position
                                     and length of "===" lever
                                     before right whitespaces met

r a b c=                             Sums it all up =)
                                     a-ascii objects, b-lever, c-pivot line
   signum(                           1-tips left, 0-balance, -1-tips right
     take(b?'=')(a++repeat ' ')      takes all object on lever 
                                     plus whitespaces up to length of the lever
      #                              calculate the balance
       (c?' ')                       determine place of pivot

1
Bạn có thể sử dụng fromEnumthay vì ordvà thả import. ccó thể được đơn giản hóa thành c p=max(ord p-32)0(hoặc với fromEnum) và vì bạn chỉ sử dụng một lần, nội tuyến nó.
nimi

Hoặc bạn có thể thêm (Lambdabot) vào tiêu đề của mình, phần này nhập khá nhiều thứ bạn cần, xem tại đây .
ბიმო

1
Chức năng cthậm chí có thể được đơn giản hóa (các ký tự dưới 32 không được xem xét) hơn nữa c p=ord p-32. pVề cơ bản cũng là length(trừ 1), do đó p x=length x-1cũng sẽ hoạt động (và bạn cũng có thể nội tuyến nó). Cũng có một cái nhìn về giải pháp của tôi, cách tôi sử dụng signum- bạn có thể làm điều r o l s = signum $ 2 * z ...đó trả về 0,1,-1B, L, R.
ბიმო

1
Ngoài ra, giải pháp này dường như thất bại trong các trường hợp thử nghiệm [3,4,7]và mất 3 Chuỗi thay vì một. (xem lines).
ბიმო

1
Đây là phiên bản có một vài mẹo được áp dụng (giúp bạn tiết kiệm 29 byte;)).
ბიმო

2

Thạch , 30 byte

O_31×J_¥A+\sṪ€µ÷ḢṪ_2Ṡ
ỴṪLç@ỴḢ$

Phòng thử nghiệm

Đầu ra 0 cho cân bằng, 1 cho phải và -1 cho trái.

Làm thế nào nó hoạt động

O_31×J_¥A+\sṪ€µ÷ḢṪ_2Ṡ - helper function. Arguments position of pivot and first line
O                        - char codes of first line
 _31                     - subtract 31 to get weight
    ×                    - elementwise product with:
     J_¥                 - distances from the pivot
        A                - absolute value
         +\              - cumulative sum
           s             - split to get [[...,left weight],...,[..., right + left weight]]
            Ṫ€           - last element of each sublist: [left weight, ... right weight]
              µ÷Ḣ        - get ratio of each element over left weight: ratio n indicates
                              right + left = n × left ===> right = left if n = 2
                 _2      - subtract 2: positive is right>left and negative is right<left
                   Ṡ     - return the sign of this


ỴṪLç@ỴḢ$              - main link. Argument: 3 line string.
   ç@                  - apply helper function with arguments:
Ỵ                        - split by linefeeds
 Ṫ                       - last line
  L                      - length (returns position of pivot)
       $               - and
     Ỵ                   - split by linefeeds
      Ḣ                  - first line              

2

Thạch , 24 byte

ṪO_31
ỴµṪLạЀṪL$×Çṣ0S€IṠ

Hãy thử trực tuyến!

-1cho ngã trái, 0để giữ thăng bằng, 1cho ngã phải (chương trình đầy đủ).
[-1]cho ngã trái, [0]để cân bằng, [1]cho ngã phải (chức năng).

Dòng đầu tiên phải có dấu cách, dòng cuối cùng không được.

Giải thích (chúng tôi bắt đầu với dòng dưới cùng):

Trước hết, chúng tôi đang làm việc với các dòng riêng lẻ, vì vậy chúng tôi cần bằng cách nào đó có được chúng. Đó là một công việc cho . Sau đó, chúng ta cần xử lý \nphiên bản -split của đầu vào như thể đó là đầu vào ban đầu, vì vậy chúng tôi sử dụng µđể tạo một chuỗi đơn âm áp dụng cho giá trị hiện tại.

Bây giờ chúng tôi bắt đầu công việc thực sự, và công việc đầu tiên của chúng tôi sẽ là tính toán các yếu tố của trọng lượng. Về cơ bản, đây là một phạm vi [khoảng cách từ ngoài cùng bên trái đến trục..0..distance từ trục đến bên phải]. Trước hết, chúng ta phải tìm chỉ số dựa trên 1 của trục, về cơ bản là độ dài của dòng cuối cùng mà không có dấu cách. Vì vậy, chúng tôi bật dòng cuối cùng (dòng trục) từ danh sách ban đầu của chúng tôi , vì chúng tôi sẽ không cần nó nữa, và sau đó chúng tôi sẽ sử dụng nó L. Sau đó, chúng ta cần lấy chiều dài của thanh, mà chúng ta làm điều tương tự với dòng cuối cùng (dòng que) với ṪL$. Cuối cùng, để có được phạm vi, chúng tôi ánh xạ | x - y | đến [1..rod length], trong đó x là chỉ số trục và ylà mỗi yếu tố của danh sách chúng tôi ánh xạ. Chúng tôi làm điều này bằng cách sử dụng ạЀ, nơi tính toán | x - y | Ѐlàm cho một phạm vi từ 1 đến và bao gồm cả chiều dài thanh. Bây giờ chúng tôi sẽ có phạm vi chúng tôi muốn.

Sau đó, chúng ta phải nhân mỗi số nguyên, đại diện cho một phần của thanh, với trọng lượng tương ứng của nó. Để tính trọng số, chúng tôi sử dụng Ç, đi đến dòng trên cùng của mã của chúng tôi. Chúng tôi lấy dòng còn lại với , các mã của nó với O, và sau đó chúng tôi tính x - 31 bằng cách sử dụng _31, x là mỗi mã. Sau đó, chúng tôi gán không gian cho trọng số 1 (0 + thanh mảnh = 1), !cho trọng số 2 (1 + 1), v.v. Chúng tôi đã thực hiện với dòng trên cùng, vì vậy bây giờ Çsẽ trả về danh sách các trọng số mà chúng tôi nhân với tương ứng số nguyên đại diện cho các mảnh que với ×.

Sau đó, chúng tôi chia ra ṣ0trên điểm trục, được biểu thị bằng 0 (vì bất kỳ trọng số nào sẽ không ảnh hưởng đến kết quả), dẫn đến một danh sách biểu mẫu [[trọng lượng 1, trọng lượng 2 ... trọng lượng ngay trước trục] , [trọng lượng chỉ sau trục, trọng lượng sau trọng lượng trước ... trọng lượng cuối cùng]]. Những danh sách đại diện cho các mặt của thanh, trái và phải. Bây giờ chúng tôi tổng hợp từng danh sách bằng cách sử dụng S€để có tổng trọng số ở mỗi bên và sử dụng Iđể lấy đồng bằng, sẽ là âm nếu bên trái nặng hơn, bằng 0 nếu chúng có trọng số bằng nhau và dương nếu bên phải nặng hơn . Vì vậy, để trả lại kết quả cuối cùng bằng cách sử dụng điều này đúng với lợi thế của chúng tôi, chúng tôi lấy dấu hiệu với .


2

APL (Dyalog) , 43 byte *

{×(¯31+⎕UCS⊃⍵)+.×(⍳≢⊃⍵)-'|'⍳⍨⊃⌽⍵}⎕TC[2]∘≠⊆⊢

Hãy thử trực tuyến!

⊆⊢ phân vùng đối số thành các ký tự

⎕TC[2]∘≠ khác biệt so với 2 nd T erminal C ontrol ký tự (linefeed) **

{... } áp dụng các chức năng ẩn danh sau trên danh sách các chuỗi:

⊃⌽⍵ trong chuỗi đầu tiên của danh sách đảo ngược (tức là cuối cùng)

'|'⍳⍨ tìm ɩ ndex của điểm mấu chốt

(Hãy )- trừ đi điều đó từ danh sách sau:

  ⊃⍵ chuỗi đầu tiên

   chiều dài của nó

   tất cả các ɩ ndices đó

(... )+.× tổng trọng với những khối lượng và giá trị sau:

  ⊃⍵ chuỗi đầu tiên

  ⎕UCS điểm mã trong U niversal C haracter S et

  ¯31+ thêm âm ba mươi mốt (32 cho phần bù cần thiết trừ đi một phần cho thanh)

× dấu hiệu của điều đó


* Đối với 1 byte mỗi char, sử dụng {×(¯31+⎕UCS↑⍵)+.×(⍳≢↑⍵)-'|'⍳⍨↑⌽⍵}⎕TC[3]∘≠⊂⊢với ⎕ML←3. Hãy thử trực tuyến!
** ⎕TCkhông được dùng nữa và chỉ được sử dụng ở đây cho mục đích chơi gôn. Trong mã sản xuất, người ta nên sử dụng ⎕UCS 10.


2

Haskell (Lambdabot), 142 byte

l=length
g[a,c,b]=splitAt(l b)$a++(' '<$[1..l c-l a])
k e=sum$zipWith((*).(-31+).ord)e[1..]
f=signum.uncurry(-).(k.drop 1.reverse***k).g.lines

Hãy thử trực tuyến!

Phiên bản bị đánh cắp:

-- for readability, allows reading top-down/left-right
(.>) = flip (.)

ungolfed =
     lines                                 -- separate out lines into..
  .> (\[a,b,c] ->                          -- a,b,c (first,second,third)
                                           -- ' ' pad the first line & split on pivot
       splitAt (length c) (a ++ replicate (length b - length a) ' ')
     )
  .> (weight.drop 1.reverse *** weight)    -- reverse left half, drop element above pivot & get weight for both
  .> uncurry (-)                           -- subtract right from left
  .> signum                                -- get sign

-- get ord of the character subtract 31 ('=' char from bar),
-- then multiply with scales ([1..]) and sum it all up
weight es = sum $ zipWith (ord .> subtract 31 .> (*)) es [1..]

2

Python 2 , 90 byte

def f(s):L=len(s)/3;print cmp(sum((ord(s[i])-31)*(i-s[-L:].find('|'))for i in range(L)),0)

Dự kiến ​​các dòng đầu vào sẽ được đệm (có khoảng trắng) với độ dài chính xác. Đầu ra -1cho thác trái , 0cho cân , và 1cho rơi đúng .

Hãy thử trực tuyến!


94 byte

Đối với +4 byte, chúng ta có thể có một phiên bản, bằng cách sử dụng một whilevòng lặp, yêu cầu các dòng bị tước thay vì các dòng được đệm :

def f(s):
 i=r=0
 while''<s[i]:r+=(ord(s[i])-31)*(i-s[-3::-1].find('='));i+=1
 print cmp(r,0)

Hãy thử trực tuyến!


1

Ruby, 543 byte

def willittip(s)
leftw=0;
rightw=0;
arr=[];
fields=s.split("\n")
pos=fields[2].index("|")
fields[0].split("").each do |i|
arr << i.ord-32
end
arr[pos+1..-1].each_with_index do |x,y|
rightw=rightw+1
if x>0
if pos>0
rightw=rightw+x*(pos-y).abs
else
rightw=rightw+x
end
end
end
arr[0..pos-1].each_with_index do |x,y|
leftw=leftw+1
if x>0
if pos>0
leftw=leftw+x*(pos-y).abs
else
leftw=leftw+x
end
end
end
if leftw==rightw
return "Equal"
elsif leftw<rightw
return "Right"
elsif leftw>rightw
return "Left"
end
end

10
Chào mừng đến với PPCG! : D Mục tiêu cho các thử thách chơi gôn là làm cho mã của bạn nhỏ nhất có thể. Bạn có thể giảm kích thước mã của mình bằng cách đặt tất cả các biến và tên hàm thành một ký tự và bằng cách xóa khoảng trắng bất cứ nơi nào có thể.
Daffy

1

C (gcc) , 106107 121 123 124 129 131 byte

c,b,l,i;f(char*a){l=strlen(a)/3;for(i=b=c=0;32/a[l*2+c];++c);for(;i<l-1;b+=(a[i]-31)*(i++-c));a=b>0?2:!b;}

Trả về 0 cho ngã trái, 1 cho thăng bằng và 2 cho ngã phải.

Yêu cầu cả ba dòng có cùng độ dài và kết thúc bằng \n để xác định độ dài của chuỗi.

Hãy thử trực tuyến!


1

Toán học, 91 92 byte

Sign[(v=(g=ToCharacterCode)@#&@@(d=#~StringSplit~"
")-31).(Range@(l=Length)@v-l@g@Last@d)]&

Dòng đầu tiên phải có cùng chiều dài với thanh. Dòng thứ ba không chứa dấu cách.

Trả về -1, 0, 1 khi ngã trái, giữ thăng bằng và ngã phải.


1

C # (.NET Core) , 127 95 90 + 18 = 108 byte

Đối với chức năng này, dòng đầu tiên phải được đệm đúng với các khoảng trắng có cùng độ dài với thanh và dòng thứ ba không được có không gian thử. Điều kiện này được cho phép (xem ý kiến ​​của câu hỏi).

s=>s.Split('\n')[0].Select((c,i)=>(c-31)*(i-s.Split('\n')[2].Length+1)).Sum().CompareTo(0)

Hãy thử trực tuyến!

Đầu ra:

-1 cho đầu trái
0 cho cân bằng
1 cho đầu phải


1

Python 3, 217 byte

Cũng hoạt động trong Python 2.7

def f(s):i,b,p=s.split('\n');c=p.find('|');l=sum((ord(e)-32)*(c-i.find(e))for e in i[:c])+sum(x for x in range(1,c+1));r=sum((ord(e)-32)*i[c:].find(e)for e in i[c:])+sum(x for x in range(len(b[c:])));return(l>r)-(r>l)

Trả về 1 cho bên trái, -1 cho bên phải hoặc 0 nếu cân bằng.

Phiên bản dễ đọc:

def f(s):
    i,b,p = s.split('\n')
    c = p.find('|')

    l = sum((ord(e)-32)*(c-i.find(e))for e in i[:c])+sum(x for x in range(1, c+1))
    r = sum((ord(e)-32)*i[c:].find(e)for e in i[c:])+sum(x for x in range(len(b[c:])))

    return(l>r)-(r>l)

1
Bạn không cần sum([...]), đơn giản là bạn có thể cósum(...)
Ông Xcoder

@Daffy điều này phải phù hợp 100% với đặc điểm kỹ thuật của bạn và tất cả các đầu vào ví dụ đã cho. Nếu bạn đồng ý xin vui lòng cho tôi biết để tôi có thể tối ưu hóa nó hơn nữa. Cảm ơn bạn.
veganaiZe

@veganaiZe Đã vượt qua tất cả các bài kiểm tra của tôi, có vẻ tốt! :)
Daffy

1
Công cụ để rút ngắn nó: i[c:].find(e)có thể i.find(e,c), sử dụng i,m,n=s.split('\n')và tránh sự cần thiết s, sử dụng return 2*(r>l) or l>rđể giảm đáng kể chi phí thử nghiệm ở cuối (giá trị trả về tương đương với số, nhưng Truethay vì 1Falsethay vì 0), hoặc thực sự, sử dụng một bộ lợi nhuận khác các giá trị và làm return (l>r)-(r>l)để trả về 1, 0 hoặc -1 theo cách mà cmphàm cũ đã làm.
ShadowRanger

Cảm ơn ShadowRanger, ông Xcoder và Daffy! @ShadowRanger Tôi đã phải kiên trì i[c:]vì cách ngắn hơn gây ra một vấn đề kỳ lạ đối với một số đầu vào trường hợp góc (thử đặt |chính xác ở giữa - phía trên thanh).
veganaiZe

1

PHP, 105 byte

for([$a,$b,$c]=explode("
",$argn);$b[$i];)$w+=(strpos($c,"|")-$i++)*8*(max(1,ord($a[$i])-31));echo$w<=>0;

in -1/ 0/ 1cho trái / cân bằng / phải. Chạy như ống với -nRhoặc thử trực tuyến .

phá vỡ

for([$a,$b,$c]=explode("\n",$argn); # import input
    $b[$i];)                        # loop through bar
    $f+=                                # add to force:
        ($i-strpos($c,"|"))             # distance (<0 if left, >0 if right of pivot)
        *8                              # *8
        *(max(1,ord($a[$i++])-31));     # *weight
echo$f<=>0;                         # print -1 if $f<0, 1 if $f>0, 0 if $f==0

1

Than , 31 byte

A⁰ξFLθA⁺ξ×⁻ι⌕ζ|⁻℅§θι³¹ξI⁻›ξ⁰‹ξ⁰

Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã. Đầu ra 0 cho số dư hoặc -1 hoặc 1 cho ngã trái hoặc phải. Chỉnh sửa: Thay đổi trong Char than bây giờ có nghĩa là ≔ΣEθ×⁻κ⌕ζ|⁻℅ι³¹ξI⁻›ξ⁰‹ξ⁰hoạt động trong 24 byte: Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã. Lưu ý: Cả hai câu trả lời đều yêu cầu đầu vào có đệm, nhưng có thể được điều chỉnh để chấp nhận đầu vào không được đệm với chi phí 3 byte: ≔⁰ξFLη≔⁺ξ×⁻ι⌕ζ|⁻℅§◨θLηι³¹ξI⁻›ξ⁰‹ξ⁰ Hãy thử trực tuyến! ≔ΣE◨θLη×⁻κ⌕ζ|⁻℅ι³¹ξI⁻›ξ⁰‹ξ⁰ Hãy thử trực tuyến! Liên kết là phiên bản dài dòng của mã.


Bạn có thể muốn đề cập đến điều này, điều này hy vọng các dòng đầu vào được đệm theo đúng độ dài với khoảng trắng, do đó, một đầu vào không được đệm có thể không hoạt động.
FlipTack

@FlipTack Vẫn tốt hơn, tôi đã nghĩ ra các phiên bản chấp nhận đầu vào không được đệm.
Neil
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.