ช่องสี่เหลี่ยมทั้งหมดที่ตรงกับลำดับสัญลักษณ์แทน [ปิด]


9

สิ่งนี้ได้รับแรงบันดาลใจจากส่วนหนึ่งของปัญหาการแข่งขัน ARML ประจำปี 2559

นี่คือความท้าทาย:

คุณได้รับ "ลำดับตัวแทน" ซึ่งเป็นลำดับตัวเลขและตัวละครอื่น สตริงตรงกับลำดับ wildcard นี้โดย pseudocode ต่อไปนี้:

w = wildcard
s = string
# s matches w iff
for all 0 >= i > wildcard.length, w[i] == '?' or s[i] == w[i]

ที่ไหน '?' เป็นตัวละครที่คุณเลือก

ในแง่ของการ regex เพียงจินตนาการที่จะเป็น'?''.'

ความท้าทายคือการหาหมายเลขสแควร์ทั้งหมด (ความต้องการสูงถึง 1 ล้าน) ซึ่งมีการแทนสตริงสตริงตรงกับลำดับสัญลักษณ์ตัวแทนนี้ "อักขระตัวแทน" สามารถเป็นอักขระ ASCII ใด ๆ ที่คุณเลือกได้ตราบใดที่ไม่ใช่ตัวเลข

ตัวอย่างเช่น4096จับคู่4**6และ4*9*แต่4114ไม่ตรงกัน

อินพุต

การป้อนข้อมูลจะได้รับการจับคู่เป็นลำดับ [0-9?]+regex นี่อาจเป็นสตริงอาร์เรย์อักขระหรืออาร์เรย์ไบต์ของอักขระใน ASCII

เอาท์พุต

ผลลัพธ์จะเป็นรายการ / ชุด / อาเรย์ของตัวเลขที่คั่นด้วยอะไรก็ได้ที่เป็นรูปสี่เหลี่ยมที่สมบูรณ์แบบและจับคู่กับลำดับสัญลักษณ์แทน

ตัวอย่างของอินพุตที่ถูกต้อง:

1234567*90
1234567?90
1234567u90
['1', '2', '3', '4', '5', '6', '7', '*', '9', '0']
[49, 50, 51, 52, 53, 54, 55, 42, 57, 48]
[1, 2, 3, 4, 5, 6, 7, '*', 9, 0]

ตัวอย่างของผลลัพธ์ที่ถูกต้อง:

[1, 4, 9]
1 4 9
1, 4, 9
1-4-9

เป็นต้น

ข้อมูลจำเพาะ

  • คุณไม่สามารถใช้บิวอินในการค้นหารายการสี่เหลี่ยมในช่วงที่กำหนด
  • ช่องโหว่มาตรฐานใช้
  • คุณต้องสามารถจัดการได้สูงสุด 1 000 000 (1 ล้าน)
  • ถ้าให้มาพร้อมกับการป้อนข้อมูลที่มันเป็นเรื่องที่ถูกต้องในการพิมพ์1****** [1000000]นอกจากนี้ยังถูกต้องในการพิมพ์[1000000, 1002001, 1004004, 1006009, 1008016, 1010025, ...]
  • ลำดับตัวแทนจะไม่เริ่มต้นด้วยอักขระตัวแทน; นั่นคือพวกเขาจะจับคู่สตริงที่มีความยาวเท่ากันเสมอ

กรณีทดสอบ

4**6  ->  [4096, 4356]
1**1  ->  [1521, 1681]
1**  ->  [100, 121, 144, 169, 196]
9****9  ->  [908209, 915849, 927369, 935089, 946729, 954529, 966289, 974169, 986049, 994009]
9*9***  ->  [919681, 929296]
1**0*  ->  [10000, 10201, 10404, 10609, 12100, 14400, 16900, 19600]
9***4  ->  [91204, 94864, 97344]

การชนะ

ส่งสั้น (ถูกต้อง) (ทำงาน) ภายในวันที่ 14 กุมภาพันธ์ผูกมัดโดยการส่งผลงานที่เร็วที่สุด


1
ฉันคิดว่าการเริ่มต้นที่ดีในการทำให้ชัดเจนยิ่งขึ้นนี้คือการระบุว่า?ผู้ตอบจะถูกเลือก
FryAmTheEggman

2
เหตุใดจึงเป็น25คำตอบที่ถูกต้องสำหรับการ***แต่ไม่*2*?
Neil

3
ฉันคิดว่ามันน่าจะดีกว่าถ้าตัวเลขไม่เคยมีเลขศูนย์นำหน้าดังนั้นลำดับที่ตรงกันของความยาวเท่านั้น
xnor

@ Neil นั่นจะเป็นปัญหากับทางออกของฉันเอง ฉันจะใช้คำแนะนำของ xnor
HyperNeutrino

อินพุตสามารถเป็นอาร์เรย์ของจำนวนเต็มหนึ่งหลักและอักขระพิเศษเช่น{4, "w", "w", 6}(หรือยังดีกว่า{4, w, w, 6}) แทนที่จะเป็นอาร์เรย์ของอักขระเช่น{"4", "w", "w", "6"}?
เกร็กมาร์ติ

คำตอบ:


0

05AB1E , 22 ไบต์

อาจมีพื้นที่มากมายสำหรับการปรับปรุงที่นี่
ที่ไม่ใช่ตัวเลขใด ๆ ก็ถือว่าใช้ได้

3°LnvyS¹)ø€Æ0QPyg¹gQ&—

ลองออนไลน์!

คำอธิบายที่จะเกิดขึ้นหลังจากเล่นกอล์ฟต่อไป


ดูเหมือนว่าจะใช้งานได้กับอินพุตทั้งหมด ทำได้ดีมาก
HyperNeutrino

1

Mathematica ขนาด 44 ไบต์

Print@@@IntegerDigits[Range@1*^3^2]~Cases~#&

อินพุตเป็นรายการของตัวเลขที่มีเครื่องหมาย_(ไม่มีเครื่องหมายอัญประกาศ) เป็นอักขระตัวแทน เช่น{4, _, _, 6}

คำอธิบาย

Range@1*^3

สร้างรายการ {1, 2, 3, ... , 1000}

... ^2

สแควร์มัน (รายการสี่เหลี่ยมทั้งหมดตั้งแต่ 1 ถึง 1,000,000)

IntegerDigits[ ... ]

แยกแต่ละช่องออกเป็นรายการตัวเลข

... ~Cases~#

ค้นหารายการที่ตรงกับรูปแบบที่ระบุโดยอินพุต

Print@@@ ...

พิมพ์พวกเขา


ดูเหมือนว่าจะใช้ได้กับทุกกรณีทดสอบ ทำได้ดีมาก
HyperNeutrino

1

Brachylogขนาด 23 ไบต์

@e:{@$|,}a#0:{c.~^#I,}f

ลองออนไลน์!

คำอธิบาย

@e                        Split into a list of characters
  :{@$|,}a                Replace each digit char by the corresponding digit, and each things
                            that are ot digits into variables
          #0              All elements of the resulting list must be digits
            :{       }f   Output is the result of finding all...
              c.            ...concatenations of those digits which...
               .~^#I,       ...result in a number which is the square of an integer #I

รูปแบบอินพุตที่ต่างกัน 13 ไบต์

คุณสามารถทำสิ่งนี้ได้โดยขึ้นอยู่กับสิ่งที่คุณพิจารณาว่าเป็นข้อมูลนำเข้า:

#0:{c.~^#I,}f

ลองออนไลน์!

ซึ่งโดยทั่วไปเป็นส่วนที่สองของคำตอบข้างต้นโดยมีรายการเป็นอินพุตที่มีตัวเลขและตัวแปรที่เป็นสัญลักษณ์แทน

ฉันไม่คิดว่าสิ่งนี้ถูกต้องเพราะมีเพียง 26 ชื่อตัวแปรใน Brachylog (ตัวอักษรตัวพิมพ์ใหญ่) ดังนั้นสิ่งนี้จะไม่ทำงานหากคุณมีวิลการ์ดมากกว่า 26 ตัว


ดูเหมือนว่าจะใช้งานได้กับอินพุตทั้งหมด ทำได้ดีมาก อย่างไรก็ตามฉันคิดว่านี่เป็น 24 ไบต์เพราะจำเป็นต้องมีอาร์กิวเมนต์ 1 ไบต์ ฉันไม่แน่ใจว่าการให้คะแนนสำหรับสิ่งนี้จะได้ผลอย่างไร
HyperNeutrino

1
@AlexL อาร์กิวเมนต์มีเพื่อบอกชื่อของตัวแปรเอาต์พุตเท่านั้น (คุณสามารถใช้ตัวอักษรตัวพิมพ์ใหญ่ตัวอื่นหากคุณต้องการ) สิ่งนี้คล้ายกับคำตอบใน Prolog / languages ​​ที่มีฟังก์ชั่นที่ชื่อ predicate / function แต่คุณไม่นับจำนวนไบต์ที่คุณใช้เมื่อคุณเรียกมัน
ทำให้เสียชีวิต

ตกลง. ฉันไม่แน่ใจว่าควรให้คะแนนเป็น 24 หรือไม่เนื่องจากข้อโต้แย้งเป็นสิ่งจำเป็น (ไม่เช่นนั้นจะส่งคืนtrue.) แต่ฉันไม่ได้ใช้ภาษาที่ต้องการสิ่งนี้มาก่อน ฉันจะพยายามหาข้อมูลอ้างอิงบางอย่างเพื่อพิจารณาว่าฉันควรให้คะแนนสิ่งนี้อย่างไร แต่มันก็สมเหตุสมผลที่จะให้คะแนนเป็น 23 ดังนั้นฉันจะเก็บไว้ที่นั้น
HyperNeutrino

1

Perl 6 , 30 26 ไบต์

ขอบคุณ @ b2gills สำหรับ -4 ไบต์!

{grep /^<$_>$/,map * **2,^1e4}

{grep /^<$_>$/,(^1e4)»²}

ใช้จุดเป็นอักขระตัวแทนเพื่อให้อินพุตสามารถใช้เป็น regex:

{                            }   # a lambda
                         ^1e4    # range from 0 to 9999
               map * **2,        # square each value
 grep /      /,                  # filter numbers that match this regex:
        <$_>                     #   lambda argument eval'ed as sub-regex
       ^    $                    #   anchor to beginning and end

ลองมันออนไลน์

ตัวแปรที่ยอมรับเครื่องหมายดอกจันเป็น wildcard (ตามที่แนะนำโดยการแก้ไขคำอธิบายภารกิจก่อนหน้านี้) จะมีขนาด 42 ไบต์:

{grep /^<{.trans("*"=>".")}>$/,(^1e4)»²}

ฉันได้ปรับปรุงกฎและคุณสามารถเลือกอักขระตัวแทนใด ๆ ฉันให้คะแนนสิ่งนี้เป็น 38 ไบต์
HyperNeutrino

อืมคุณใช้สิ่งนี้อย่างไร ฉันไม่รู้อะไรเกี่ยวกับ Perl
HyperNeutrino

@AlexL: ขอบคุณฉันได้อัปเดตคำตอบแล้ว (และเพิ่มคำอธิบายด้วย) มันเป็นแลมบ์ดา คุณสามารถเรียกมันโดยตรง (เช่น{ ... }("9*9***")) หรือกำหนดให้กับตัวแปร / สัญลักษณ์เพื่อใช้ในภายหลัง โปรดทราบว่า Perl 6 เป็นภาษาแยกต่างหากจาก Perl ดังนั้นมันจะไม่ทำงานกับล่าม Perl
smls

ฉันเคยsudo apt-get install rakudoได้รับล่าม Perl6 ที่ควร ... เมื่อฉันใส่perl6คำสั่งลงในเทอร์มินัลของฉันมันเริ่มต้นสิ่งที่ดูเหมือนจะเป็นล่าม Perl6 แต่ฉันไม่รู้ว่าจะใช้มันอย่างไร ฉันรู้ว่ามันเป็นแลมบ์ดา แต่ฉันไม่รู้วิธีเรียกมัน
HyperNeutrino

@AlexL: ฉันได้เพิ่มลิงก์ "ลองใช้งานออนไลน์" ซึ่งแสดงเป็นสคริปต์เต็มรูปแบบที่คุณสามารถใช้งานperl6 foo.p6ได้ คุณสามารถทดสอบมันใน shell oneliner เช่นperl6 -e 'say {grep /^<$_>$/,map * **2,^1e4}( "9.9..." )'
smls

1

Ruby, 54 ไบต์

ฟังก์ชันที่รับอาร์กิวเมนต์สตริง ลองออนไลน์

->s{(0..1e3).map{|i|"#{i**2}"[/^#{s.tr ?*,?.}$/]}-[p]}

คุณสามารถบันทึกไบต์โดยใช้ i * i แทน i ** 2
GB

สิ่งนี้ไม่ทำงานเนื่องจากข้อที่สอง#ทำให้ส่วนที่เหลือของบรรทัดแสดงความคิดเห็น
HyperNeutrino

@AlexL โอ้มันใช้งานได้ดี repl.it/FJCV
Ink Value

โอ้ไม่เป็นไรฉันไม่รู้วิธีทดสอบทับทิม ขอโทษด้วย. ดูเหมือนว่าจะใช้งานได้กับอินพุตทั้งหมด เยี่ยมมาก!
HyperNeutrino

0

แบตช์ 109 ไบต์

@for /l %%i in (0,1,999)do @set/aj=%%i*%%i&call copy nul %%j%%.%%j%%$>nul
@for %%s in (%1.%1$)do @echo %%~ns

การใช้ประโยชน์ ?เป็นสัญลักษณ์แทน ทำงานโดยสร้างไฟล์ 1,000 ไฟล์ ชื่อของไฟล์คือหมายเลขสแควร์และนามสกุลของไฟล์เป็นหมายเลขสแควร์ที่มี$คำต่อท้าย นี่เป็นเพราะการจับคู่รูปแบบของแบทช์นับการติดตาม?เป็นตัวเลือกดังนั้น1?จะจับคู่ทั้งสอง1และ16; $จึงบังคับให้การแข่งขันเป็นที่แน่นอน อย่างไรก็ตามเราไม่ต้องการส่งออก$ดังนั้นเราเพียงแค่ส่งชื่อไฟล์โดยไม่มีนามสกุล


0

JavaScript (ES6) 68 66 ไบต์

แก้ไข:อัปเดตโซลูชันของฉันด้านล่างหลังจากได้รับแรงบันดาลใจจากคำตอบของ JungHwan Minคำตอบที่จองฮวานมินตอนนี้เป็นไปตามมาตรฐาน ES6

ใช้อินพุตในรูปแบบ '1..4'ที่.เป็นสัญลักษณ์แทน

แทนที่จะวนซ้ำเป็น 1e6 และกำลังสองเป็นราก

p=>[...Array(1e3)].map((_,n)=>''+n*n).filter(n=>n.match(`^${p}$`))

JavaScript (ES7), 71 69 ไบต์

p=>[...Array(1e6).keys()].filter(n=>n**.5%1?0:(''+n).match(`^${p}$`))

สร้างอาร์เรย์ของตัวเลขตั้งแต่ 0 ถึง 1e6 แล้วกรองตามตัวเลขที่เป็นรูปสี่เหลี่ยมและจับคู่กับรูปแบบ

มันช้าอย่างน่ากลัวเพราะมันวนซ้ำ 1e6 เสมอ


ฉันไม่คิดว่าจะทำงานเพราะมันให้ฉัน** "SyntaxError: expected expression, got '*'"
HyperNeutrino

@AlexL กฎดูเหมือนจะเปลี่ยนไป กฎก่อนหน้านี้แนะนำว่าฉันสามารถเลือกอักขระตัวแทน
George Reith

คุณจะต้องสนับสนุนจนถึง1e6...
HyperNeutrino

นอกจากนี้ฉันเปลี่ยนกฎกลับ ปัญหาไม่ได้อยู่กับกฎ แต่เป็นเพราะ**ผู้ประกอบการไม่มีอยู่อย่างน้อยก็ไม่ใช่ในระบบของฉัน
HyperNeutrino

@AlexL **อาขอโทษฉันคิดว่าคุณหมายถึงการป้อนข้อมูล ใช่มันคือ ES7 ฉันจะอัปเดตชื่อที่นี่เป็นรายการของเบราว์เซอร์ที่ได้รับการสนับสนุนในขณะนี้developer.mozilla.org/en/docs/Web/JavaScript/Reference/
......

0

Perl, 42 45 38 ไบต์

แก้ไข: ชี้แจงโดยอเล็กซ์เราสามารถใช้จุดเป็นอักขระตัวแทนซึ่งกำจัดการดำเนินการ y //

perl -pe 's|.*|@{[grep/^$&$/,map$_*$_,1..1e3]}|'

แก้ไข: โซลูชันที่ใช้เครื่องหมายดอกจันเป็นอักขระตัวแทนและคาดว่าจะใช้ลำดับตัวแทนใน STDIN

perl -pe 'y/*/./;s|.*|@{[grep/^$&$/,map$_*$_,1..1e3]}|'

อันนี้ออกจากห้องพักมากมายสำหรับการปรับปรุงอย่างไม่ต้องสงสัยมันค่อนข้างตรงไปตรงมา คาดว่าจะใช้นิพจน์ตัวแทนเป็นอาร์กิวเมนต์บรรทัดคำสั่งโดยใช้อักขระตัวแทนช่วงเวลา (มีอะไรอีกบ้าง)

say"@{[grep/^$ARGV[0]$/,map$_*$_,1..1e3]}"

คำถามระบุว่าอักขระตัวแทนจะได้รับเป็นเครื่องหมายดอกจัน การแก้ไขคำถามก่อนหน้านี้อนุญาตให้เลือกอักขระตัวแทนของคุณเองหรือไม่
smls

1
@smls: คำถามยังคงระบุให้เลือกตัวแทนของคุณเองแม้ว่ามันจะไม่ได้อยู่ในส่วนของกฎ: ตัวละครที่ใช้เป็นตัวแทนไม่จำเป็นต้องเป็นเครื่องหมายดอกจันก็สามารถเป็นตัวอักษร ASCII ใด ๆ ที่คุณเลือกตราบใดที่มัน ไม่ใช่ตัวเลขแน่นอน
Emigna

ใช่ฉันสับสน หลังจากนั้นจะมีการกล่าวอย่างชัดเจนว่าอักขระตัวแทนต้องเป็นเครื่องหมายดอกจัน ฉันเดาความหมายกับ regex เป็นผู้นำ ฉันจะแก้ไขวิธีแก้ปัญหาของฉัน
daniel

1
หืมประโยคที่ยกมาโดย @Emigna นั้นค่อนข้างชัดเจนว่าเราสามารถเลือกอักขระตัวแทนของเราเองได้ใช่ไหม?
smls

ในการชี้แจงตัวอักขระตัวแทนสามารถเป็นสิ่งที่คุณต้องการ ฉันตั้งใจทำผิดกฎเมื่อเรียกคืนคำอธิบาย
HyperNeutrino

0

Python 3 - 98 97 ไบต์

import re;print(re.findall(r"\b"+input()+r"\b",("\n".join([str(x*x) for x in range(1,1001)]))))

ต้องป้อนข้อมูลเช่น '4..6'


คุณสามารถบันทึก 3 ไบต์โดยใช้import reและre.findall; การเพิ่มประสิทธิภาพด้วยการfrom...import *ไม่ปรับให้เหมาะสมจริง ๆ ในกรณีนี้
HyperNeutrino

การป้อนข้อมูลที่ให้ไว้1....จะให้1 4 9และ16 25เป็นคำตอบที่ถูกต้องซึ่งไม่ถูกต้อง โปรดแก้ไขโปรแกรมของคุณ
HyperNeutrino

แก้ไขกรณีและปัญหาด้วยการเข้าร่วมใน "\ n"
Carra

1......นี้ไม่ได้ทำงานให้กับ ก็จะส่งกลับแต่ก็ควรให้[] [1000000]นี้สามารถคงที่ค่าใช้จ่ายของ 0 ไบต์โดยใช้มากกว่าrange(0, 1001) range(0, 1000)
HyperNeutrino

จุดที่ดีฉันเพิ่งตรวจสอบกรณีทดสอบทั้งหมดจากคำอธิบาย :)
464 Carra

0

k - 28 ตัวอักษร

{s(&:)($:s:s*s:!1001)like x}

ใช้?เป็นอักขระตัวแทน likeการใช้ฟังก์ชั่น?เป็นตัวแทนและฟังก์ชั่นนี้จะทำให้รายการของ 1001 สี่เหลี่ยมแรก (จะรวม 1 ล้าน) ปลดเปลื้องพวกเขาทั้งหมดเพื่อสตริงและจากนั้นตรวจสอบที่พวกเขาตรงกับรูปแบบ

    {s(&:)($:s:s*s:!1001)like x} "1??"
100 121 144 169 196

type error {s(&:)($:s:s*s:!1001)like x} "1" at execution instance 2 of ":"ฉันได้รับข้อผิดพลาดนี้สำหรับมัน คุณสามารถให้ลิงค์ไปยังชุดทดสอบที่ใช้งานได้หรือดูว่ามีปัญหาหรือไม่?
HyperNeutrino

@AlexL มันใช้งานได้สำหรับฉันในโหมด kdb + 's
C. Quilley

อืมมม ฉันจะลองทดสอบกับล่ามคนอื่น
HyperNeutrino

0

bash + ยูทิลิตี้ Unix, 33 ไบต์

dc<<<'0[2^pv1+lax]dsax'|grep ^$1$

สิ่งนี้ใช้ '.' เป็นอักขระตัวแทน

โปรแกรม dc พิมพ์ตัวเลขสแควร์ในการวนซ้ำไม่สิ้นสุด:

0     Push 0 on the stack.

[     Start a macro (called a).

2^    Square the number at the top of the stack.

p     Print the number at the top of the stack, followed by a newline.

v     Replace the number at the top of the stack (a square number) with its square root.

1+    Increment the number at the top of the stack.

lax   Run the macro again (looping).

]     End of the macro.

dsax  Store the macro in register a and run it.

เอาต์พุต dc ถูกไพพ์ไปที่ grep ซึ่งจะพิมพ์เฉพาะสี่เหลี่ยมที่ตรงกับรูปแบบที่ต้องการ

ใช้งานได้เมื่อฉันเรียกใช้บนระบบ Linux หรือ OS X จริง ๆ (แต่มันไม่ทำงานที่ TIO อาจเป็นเพราะโปรแกรม dc พยายามที่จะเรียกคืนตลอดไปและฉันสงสัยว่า TIO หมดพื้นที่สแต็กสำหรับการเรียกซ้ำและ / หรือมี ปัญหากับท่อไม่สิ้นสุด)


ฉันใช้งานกับ Linux Mint 17.3 Rosa และมันไม่ได้หยุด ฉันคิดว่าปัญหาเกิดขึ้นกับdcคำสั่งที่ไม่มีที่สิ้นสุด
HyperNeutrino

ฉันสงสัยว่ามันเป็นบัฟเฟอร์จริงที่ทำให้เกิดปัญหา ฉันไม่มี Linux เวอร์ชันนั้น แต่คุณสามารถลองแทนที่ grep ด้วย grep --line-buffered (เพื่อให้แต่ละบรรทัดพิมพ์ได้ตามที่มัน grepping) [แน่นอนมันเพิ่มจำนวนไบต์]
Mitchell Spector

ฉันเพิ่มอาร์กิวเมนต์ grep แต่ไม่ได้สร้างความแตกต่าง ฉันพยายามวาง--line-bufferedด้านใดด้านหนึ่ง^$1$แต่ก็ไม่ได้ผลเหมือนกัน
HyperNeutrino

@ AlexL ขอบคุณสำหรับความพยายาม ฉันไม่ทราบว่ามีความแตกต่างในเคอร์เนลหรือในเวอร์ชั่นทุบตีที่ฉันใช้อยู่ ฉันได้มันมาทำงานใน TIO โดยบังคับให้ใส่จุดสิ้นสุดของ grep โดยใช้ head ดังนี้: dc <<< '0 [2 ^ pv1 + lax] dsax' | head -1 sed s/./0/g<<<$1| grep ^ $ 1 $ นี่ใช้ความยาวของ รูปแบบเพื่อ จำกัด จำนวนที่ทดสอบ (รูปแบบตัวอักษร 4 แบบตรวจสอบได้มากถึง 9999 เป็นต้น) นี่คือลิงค์ของ TIO: tio.run/nexus/…
Mitchell Spector

ขอบคุณสำหรับการแก้ไข ผมไม่คิดว่าการแก้ปัญหาในปัจจุบันจะทำงานจริง ( แต่ผมไม่ได้มีความรู้มากของทุบตี) grepเพราะปรากฏว่าจะต้องมีการคำนวณค่าทั้งหมดก่อนที่จะเข้าสู่การให้อาหารที่ อย่างไรก็ตามเนื่องจากมันไม่ได้เป็นวิธีแก้ปัญหาที่สั้นที่สุดฉันจะเก็บไว้ที่ 33 ไบต์เพื่อให้คะแนน ดูเหมือนว่าจะใช้งานได้กับอินพุตทั้งหมดงานดีมาก!
HyperNeutrino
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.