คำถามติดแท็ก path-finding

ปัญหาในเรขาคณิตหรือกราฟทฤษฎีที่เกี่ยวข้องกับการหาเส้นทางที่เหมาะสมที่สุด (เช่นสั้นที่สุด) ภายใต้ข้อ จำกัด (อุปสรรค)

6
คุณสามารถเข้าถึงหมายเลขนี้โดยเพิ่มและจัดเรียงใหม่ได้หรือไม่?
แรงบันดาลใจจากคำถามนี้ใน Math.SE เริ่มต้นด้วย1คุณสามารถดำเนินการหนึ่งในสองอย่างต่อไปนี้ซ้ำ ๆ เพิ่มจำนวนเป็นสองเท่า หรือ จัดเรียงตัวเลขใหม่ตามที่คุณต้องการยกเว้นว่าจะไม่มีศูนย์นำหน้า รับตัวอย่างจากโพสต์ Math.SE ที่เชื่อมโยงเราสามารถเข้าถึง1000ผ่านขั้นตอนต่อไปนี้: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 125, 250, 500, 1000 คุณสามารถเข้าถึงหมายเลขใดในกระบวนการนี้และทางออกที่สั้นที่สุดคืออะไร ความท้าทาย กำหนดจำนวนเต็มบวกNกำหนดลำดับที่สั้นที่สุดที่เป็นไปได้ของจำนวนเต็มถึงNกระบวนการข้างต้นถ้าเป็นไปได้ หากมีวิธีการแก้ปัญหาที่ดีที่สุดหลายอย่างให้ส่งออกหนึ่งในนั้น หากไม่มีลำดับดังกล่าวคุณควรส่งรายการว่าง ลำดับอาจอยู่ในรูปแบบของสตริงหรือรายการที่สะดวกไม่คลุมเครือ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ กรณีทดสอบ นี่คือรายการของตัวเลขที่เข้าถึงได้ทั้งหมดและรวมถึง 256 คอลัมน์แรกคือหมายเลข (อินพุตของคุณ) คอลัมน์ที่สองคือจำนวนขั้นตอนที่เหมาะสมที่สุด (ซึ่งคุณสามารถใช้เพื่อตรวจสอบความถูกต้องของโซลูชันของคุณ) และที่สาม คอลัมน์เป็นลำดับที่เหมาะสมที่สุดในการเดินทาง: …

24
Loeschian หมายเลขนี้หรือไม่
จำนวนเต็มบวกkคือจำนวน Loeschianถ้า kสามารถแสดงเป็นi*i + j*j + i*jสำหรับi, jจำนวนเต็ม ตัวอย่างเช่นหมายเลข Loeschian บวกแรกคือ: 1( i=1, j=0); 3( i=j=1); 4( i=2, j=0); 7( i=2, j=1); 9( i=-3, j=3); ... โปรดทราบว่าi, jหารับkไม่ได้ที่ไม่ซ้ำกัน ตัวอย่างเช่น9สามารถสร้างด้วยi=3, j=0. ลักษณะอื่น ๆ ที่เทียบเท่าของตัวเลขเหล่านี้คือ: kสามารถแสดงเป็นi*i + j*j + i*jสำหรับi, jintegers เชิงลบ (สำหรับคู่ของจำนวนเต็มแต่ละi, jมีคู่ของ integers เชิงลบที่ทำให้เดียวกันk) มีชุดของkรูปหกเหลี่ยมที่ต่อเนื่องกันซึ่งก่อให้เกิด tesselation บนตารางหกเหลี่ยม (ดูภาพประกอบสำหรับk = 4และสำหรับk …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

2
Office Escape: วางแผนทางออกของคุณ!
มันเป็นการวิ่งครั้งสุดท้าย ... และครึ่งหนึ่งของทีมคุณไม่ดี คุณทำงานช้าแล้วแค่ทำสิ่งสุดท้ายในวันนี้รอคอย ... ทำไมไฟดับไป? ฉันจำไม่ได้ว่าคนที่รักษาความปลอดภัยมารอบ ... โอ้ไม่! ฉันทิ้งกุญแจไว้ที่บ้าน! ในฐานะที่เป็นความน่ากลัวของอ่างล้างมือในสถานการณ์ที่คุณตัดสินใจว่าคุณกำลังจะหลบหนี สรุปภารกิจ หากต้องการเอฟเฟกต์การหลบหนีคุณต้องมีแผน! อย่างไรก็ตามคุณรู้ว่าแผนใด ๆ มีโอกาสล้มเหลวและแผนการที่แตกต่างต้องการความพยายามที่แตกต่างกัน เมื่อคุณหิวกระหายและเป็นวิศวกรคุณตัดสินใจที่จะเขียนโปรแกรมสั้น ๆ เพื่อกำหนดวิธีที่ดีที่สุดในการหลีกหนีความซับซ้อนสร้างสมดุลระหว่างความน่าจะเป็นของความสำเร็จและความพยายามที่จะต้องใช้ คุณสร้างแผนที่อาคาร: ####################### # = # ! = ! <-- window # ! = # (freedom!) #################= # # # = # # # = # # # = # # o …

6
ทำคะแนนเส้นทางการแกว่งเถาไวน์ของทาร์ซาน
เถาองุ่นโอลิมปิกดำเนินการตามปกติในต้นไม้มาตรฐาน โดยเฉพาะอย่างยิ่งแผนภูมิมาตรฐานnมีจุดยอดสำหรับการ0ขึ้นn-1และขอบการเชื่อมโยงจุดยอดที่ไม่ใช่ศูนย์แต่ละจุดaกับจุดยอดn % aด้านล่าง ตัวอย่างเช่นต้นไม้มาตรฐาน 5 มีลักษณะดังนี้: 3 | 2 4 \ / 1 | 0 เนื่องจากส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 3 คือ 2 ส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 2 หรือ 4 คือ 1 และส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 1 คือ 0 ในปีนี้ทาร์ซานจะได้รับการปกป้องทองของเขากับการปฏิบัติใหม่ซึ่งแต่ละเริ่มต้นที่ยอดn - 1ชิงช้าจุดสุดยอดn - 2ยังคงจุดสุดยอดn - 3ฯลฯ 0จนในที่สุดเขาปลดจุดสุดยอด คะแนนสำหรับกิจวัตรประจำวันคือผลรวมของคะแนนสำหรับการสวิงแต่ละครั้ง (รวมถึงการลงจากหลังม้า) และคะแนนสำหรับการสวิงคือระยะทางภายในต้นไม้ระหว่างจุดเริ่มต้นและจุดสิ้นสุด ดังนั้นรูทีนของทาร์ซานบนต้นไม้มาตรฐาน 5 มีคะแนน …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

7
โซ่โดมิโนที่ยาวที่สุด
คำอธิบายการท้าทาย แต้มเป็นเกมที่เล่นกับกระเบื้องที่มีสองค่าบน - หนึ่งด้านซ้ายด้านขวาเช่นหรือ[2|4] [4|5]สองแผ่นสามารถรวมเข้าด้วยกันหากพวกเขามีค่าทั่วไป ไพ่สองใบด้านบนสามารถเข้าร่วมได้เช่นนี้: [2|4][4|5] เราจะเรียกลำดับของnกระเบื้องเข้าร่วมห่วงโซ่ยาว n แน่นอนกระเบื้องสามารถหมุนเพื่อให้กระเบื้อง[1|2], [1|3]และ[5|3]สามารถจัดใหม่เข้าไปในห่วงโซ่[2|1][1|3][3|5]ของความยาว 3 รับรายการคู่ของจำนวนเต็มกำหนดความยาวของห่วงโซ่ที่ยาวที่สุดที่สามารถเกิดขึ้นได้โดยใช้กระเบื้องเหล่านี้ หากรายการว่างเปล่าคำตอบที่ถูกต้องคือ0(โปรดทราบว่าคุณสามารถสร้างห่วงโซ่ความยาว1จากรายการไทล์ที่ไม่ว่างเปล่า) ตัวอย่างอินพุต / เอาต์พุต [(0, -1), (1, -1), (0, 3), (3, 0), (3, 1), (-2, -1), (0, -1), (2, -2), (-1, 2), (3, -3)] -> 10 ([-1|0][0|-1][-1|2][2|-2][-2|-1][-1|1][1|3][3|0][0|3][3|-3]) [(17, -7), (4, -9), (12, -3), (-17, -17), (14, -10), …

5
ชีวิตคือเขาวงกต: เราใช้เส้นทางที่ผิดก่อนที่เราจะหัดเดิน
การป้อนข้อมูล: เขาวงกตที่มีตัวละคร: -- (ผนังแนวนอน); | (ผนังแนวตั้ง); + (การเชื่อมต่อ); (พื้นที่เดิน); I (ทางเข้า); U (ออก) เช่นอินพุตอาจมีลักษณะเช่นนี้: +--+--+--+--+--+--+--+--+--+--+ I | | | + +--+--+--+ + + + +--+ + | | | | | | +--+--+--+ +--+--+ + + +--+ | | | | | + +--+--+ + +--+--+ +--+ + | | …

30
สามเหลี่ยม ASCII
งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์รูปสามเหลี่ยม ASCII พวกเขามีลักษณะเช่นนี้: |\ | \ | \ ---- โปรแกรมของคุณจะมีการป้อนข้อมูลที่เป็นตัวเลขเดียวกับข้อ จำกัดn สามเหลี่ยมดังกล่าวข้างต้นมีมูลค่าของ0 <= n <= 1000n=3 สามเหลี่ยม ASCII จะมีnแบ็กสแลช ( \) และบาร์แนวตั้ง ( |), n+1เส้นและขีดกลาง ( -) และแต่ละบรรทัดจะมีจำนวนช่องว่างเท่ากับหมายเลขบรรทัด (อิงตาม 0, คือบรรทัดแรกคือบรรทัดที่ 0) นอกเหนือจากบรรทัดสุดท้าย . ตัวอย่าง: การป้อนข้อมูล: 4 เอาท์พุท: |\ | \ | \ | \ ----- การป้อนข้อมูล: 0 เอาท์พุท: ในกรณีทดสอบนี้ผลลัพธ์จะต้องว่างเปล่า …
30 code-golf  ascii-art  code-golf  rubiks-cube  code-golf  path-finding  maze  regular-expression  code-golf  math  rational-numbers  code-golf  kolmogorov-complexity  graphical-output  code-golf  tips  code-golf  string  permutations  code-golf  sorting  base-conversion  binary  code-golf  tips  basic  code-golf  number  number-theory  fibonacci  code-golf  date  code-golf  restricted-source  quine  file-system  code-golf  code-golf  math  code-golf  ascii-art  code-golf  math  primes  code-golf  code-golf  math  matrix  code-golf  string  math  logic  factorial  code-golf  palindrome  code-golf  quine  stateful  code-golf  interactive  code-golf  board-game  code-golf  math  arithmetic  code-golf  string  code-golf  math  matrix  code-golf  math  abstract-algebra  polynomials  code-golf  date  code-golf  string  array-manipulation  sorting  code-golf  game  code-golf  string  code-golf  ascii-art  decision-problem  code-golf  number  sequence  code-golf  code-golf  code-golf  sequence  fibonacci  code-golf  math  geometry  random  code-golf  code-golf  math  decision-problem  fractal  rational-numbers  code-golf  number  number-theory  code-golf  combinatorics  permutations  card-games  code-golf  math  sequence  array-manipulation  fibonacci  code-golf  sequence  decision-problem  graph-theory  code-golf  ascii-art  parsing  lisp  code-golf  string  math  natural-language  logic  code-golf  math  logic  code-golf  string  alphabet  code-golf  string  code-golf  string 

3
สร้างรางรถไฟและโกงรัฐบาล
คุณเป็นผู้ประกอบการทางรถไฟในสหรัฐอเมริกาในศตวรรษที่ 19 เมื่อรถไฟกลายเป็นที่นิยมเพราะเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการขนส่งวัสดุจำนวนมากทางบก มีความต้องการระดับชาติสำหรับเส้นทางรถไฟจากชายฝั่งตะวันออกผ่านดินแดนอาณานิคมที่เพิ่งเกิดขึ้นทางทิศตะวันตก เพื่อรองรับความต้องการนี้รัฐบาลสหรัฐฯกำลังจะเรียกเก็บภาษีเพื่ออุดหนุนทางรถไฟ พวกเขาสัญญาว่าจะจ่ายเงินให้กับ บริษัท รถไฟของคุณสำหรับการติดตามแต่ละไมล์ เนื่องจากการวางรางในพื้นที่ที่เป็นภูเขาและภูเขามีราคาแพงกว่าการวางรางในพื้นที่ราบพวกเขาจึงปรับจำนวนที่ให้ นั่นคือรัฐบาลจะจ่าย $ 5,000 ต่อไมล์ของแทร็กที่ถูกวางในพื้นราบ $ 12,500 ต่อไมล์ของแทร็คที่วางในดินแดนที่เป็นภูเขา $ 20,000 ต่อไมล์ของเส้นทางที่วางในภูเขา แน่นอนว่าแผนนี้ไม่ได้สะท้อนถึงค่าใช้จ่ายจริง ๆ ในการวางรางรถไฟ คุณได้จ้างนักทำแผนที่เพื่อวาดแผนที่โล่งอกของภูมิภาคที่คุณกำลังวางแผนเพื่อวิเคราะห์ระดับความสูง นี่คือแผนที่หนึ่งแผนที่: S12321 121234 348E96 แต่ละหลักหมายถึงหนึ่งตารางไมล์ของที่ดิน Sเป็นจุดเริ่มต้นEคือจุดสิ้นสุด แต่ละหมายเลขแสดงถึงความเข้มของการเปลี่ยนแปลงระดับความสูงในภูมิภาคนั้น ที่ดินเลขที่ 1-3 ถือเป็นที่ราบ เลข 4-6 ถือเป็นดินแดนที่เป็นภูเขา ที่ดินเลขที่ 7-9 ถือเป็นเทือกเขา คุณมีประสบการณ์หลายปีในการสร้างรางรถไฟประเมินว่าค่าใช้จ่ายในการสร้างราง (เป็นดอลลาร์) เป็นไปตามสูตรนี้: Cost_Per_Mile = 5000 + (1500 * (Elevation_Rating - …

3
เต่าพบพอร์ทัล
เต่าต้องการย้ายไปตามกริดเพื่อไปหาอาหารของเขา เขาต้องการที่จะรู้ว่ามันจะต้องใช้เวลาเท่าไรในการเดินทาง เช่นกันเนื่องจากเขาทำงานช้าเขาจึงได้ติดตั้งเครื่องเคลื่อนย้ายมวลสารไว้รอบ ๆ โดเมนของเขาซึ่งเขาจะใช้ประโยชน์หากเส้นทางของเขาสั้นลง หรือหลีกเลี่ยงพวกเขาถ้ามันยาวเส้นทางของเขา พบกับเต่า 🐢 ชีวิตเต่าบนตาราง XXXXXXXXXXXX🐢XXXXXXXXXXXXXXXXXXXXXXXX🐢XXXXXXXXXXXX\begin{matrix} X&X&X&X&X\\ X&X&X&X&X\\ X&X&🐢&X&X\\ X&X&X&X&X\\ X&X&X&X&X\\ \end{matrix} เต่าสามารถย้ายไปยังตารางที่อยู่ติดกัน ... XXXXXX↖←↙XX↑🐢↓XX↗→↘XXXXXXXXXXXX↖↑↗XX←🐢→XX↙↓↘XXXXXX\begin{matrix} X&X&X&X&X\\ X&\nwarrow&\uparrow&\nearrow&X\\ X&\leftarrow&🐢&\rightarrow&X\\ X&\swarrow&\downarrow&\searrow&X\\ X&X&X&X&X\\ \end{matrix} แต่เต่าไม่สามารถย้ายไปที่ตารางที่มีภูเขา XXXXX🌄↖🌄🌄🌄X↑🐢↓XX↗→↘XXXXXXX🌄XXXX↖↑↗XX🌄🐢→XX🌄↓↘XX🌄XXX\begin{matrix} X&🌄&X&X&X\\ X&\nwarrow&\uparrow&\nearrow&X\\ X&🌄&🐢&\rightarrow&X\\ X&🌄&\downarrow&\searrow&X\\ X&🌄&X&X&X\\ \end{matrix} เต่าอยากจะกินสตรอเบอร์รี่ของเขาและอยากจะรู้ว่าวิธีการที่จะใช้เวลานานที่จะได้รับของเขาสตรอเบอร์รี่ X🐢XX🌄🌄🌄X🍓XXXX🌄🍓🐢🌄XX🌄XXXX\begin{matrix} X&🌄&🍓\\ 🐢&🌄&X\\ X&🌄&X\\ X&X&X\\ \end{matrix} ตัวอย่างนี้จะใช้เวลาเต่า5ผลัด X 🌄 🍓 ↓ 🌄 ↑ ↘ 🌄 ↑ …

30
Mirage ของคนฉลาด
กาลครั้งหนึ่งฉันได้อ่านคำถาม / คำตอบนี้เกี่ยวกับ Quora มีโปรแกรมเมอร์ที่มีองศาวิทยาศาสตร์คอมพิวเตอร์ซึ่งไม่สามารถผ่านการทดสอบ FizzBuzz ได้หรือไม่ รหัสนี้เป็นคำตอบที่ชัดเจน for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i แน่นอนว่าFizzBuzzได้รับการตีกอล์ฟให้ตาย แต่นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับ ในความเห็นมีคนพูดว่าคำตอบที่ชัดเจนนี้ดีมากเพราะมันง่ายที่จะเพิ่มเงื่อนไขพิเศษเช่นพิมพ์ "Jazz" …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

10
การเพิ่มประสิทธิภาพการเตือนภัย
นาฬิกาปลุกของฉัน ฉันเป็นคนอเมริกันและเป็นนาฬิกาปลุก (ดิจิตอล) ของฉัน ในการตั้งเวลาปลุกมันจะเริ่มต้นเมื่อเวลาก่อนหน้านี้ การกดปุ่มชั่วโมงจะเป็นการเลื่อนขึ้นหนึ่งชั่วโมงและการกดปุ่มนาทีจะเป็นการเลื่อนขึ้นหนึ่งนาที การกดปุ่มทั้งสองในเวลาเดียวกันจะรีเซ็ตเป็นเที่ยงคืน (12:00 น.) และนับเป็นการกดปุ่มสองครั้ง เมื่อเวลาเกินขีด จำกัด (12) จะรีเซ็ตเป็น 1 และสลับไฟ AM / PM เมื่อนาทีเกินขีดสูงสุด (59) จะรีเซ็ตเป็น 0 โดยไม่กระทบชั่วโมง งาน งานของคุณคือกำหนดเวลาเริ่มต้นและเวลาเป้าหมายเพื่อส่งออกจำนวนกดปุ่มที่ดีที่สุดที่จำเป็นในการตั้งเวลาปลุกของฉันให้เป็นเวลาเป้าหมาย คุณสามารถป้อนข้อมูลในรูปแบบใดก็ได้ที่เหมาะกับคุณที่สุด ข้อมูลเดียวที่โปรแกรมของคุณควรใช้คือชั่วโมงและนาทีสำหรับอินพุตทั้งสอง นั่นหมายความว่าคุณอาจใช้ข้อมูลเป็นมิลลิวินาทีนับตั้งแต่ยุคและแยกชั่วโมงและนาที แต่คุณไม่สามารถเข้ารหัสอะไรได้ในปีเดือนวินาทีที่สองเป็นต้นโปรดทราบว่าในขณะที่คุณป้อนข้อมูลโดยใช้ "เวลาทางทหาร" (หรือเวลาปกติสำหรับคนส่วนใหญ่ของโลก) แต่นั่นไม่ได้เปลี่ยนวิธีการทำงานของนาฬิกาของฉัน ตัวอย่าง 1:15 pm -> 2:30 am คุณสามารถกดปุ่มทั้งสองลงเพื่อรีเซ็ตเป็น 12:00 น. จากนั้นเพิ่มเป็น 2:30 น. ซึ่งจะเป็นการ2+2+30 = 34กดปุ่ม คุณสามารถเพิ่มขึ้นเป็น 2:30 …

6
เวลาเขาวงกตหกเหลี่ยม!
ถึงเวลาสำหรับการท้าทายเขาวงกตอื่น แต่ไม่ใช่อย่างที่คุณรู้ กฎสำหรับความท้าทายนี้แตกต่างจากความท้าทายทางเขาวงกตเล็กน้อย ชนิดของกระเบื้องถูกกำหนดดังนี้: S: ตำแหน่งบนเขาวงกตที่คุณเริ่มต้น E: สถานที่ที่คุณพยายามจะไป 0: กำแพงที่คุณไม่สามารถข้ามได้ +: ชั้นที่คุณสามารถข้ามได้ คุณสามารถเดินทางในหนึ่งในหกทิศทาง: จากซ้ายไปขวาขึ้นไปทางซ้ายขวาไปทางซ้ายหรือลงทางขวา \ / -S- / \ เขาวงกตไม่ห่อ เป้าหมายคือการหาสตริงเส้นทางที่สั้นที่สุดที่จะได้รับจากการSE การป้อนข้อมูล: อินพุตคือเส้นที่คั่นด้วยช่องว่างเช่นเขาวงกตที่แสดง ไม่มีช่องว่างต่อท้ายจะเป็นไปตามบรรทัด เอาท์พุท: สตริงR, LและFที่ R หมุนคุณไปทางขวา (ตามเข็มนาฬิกา) 60 องศา L หมุนคุณไปทางซ้าย (ทวนเข็มนาฬิกา) 60 องศา F ย้ายคุณไปหนึ่งช่องว่างในทิศทางที่คุณกำลังชี้ คุณเริ่มชี้ left-up เส้นทางที่สั้นที่สุดจะถูกนับด้วยความยาวของสตริงที่ผลิตไม่ใช่จำนวนตำแหน่งที่เยี่ยมชม โปรแกรมของคุณจะต้องพิมพ์เส้นทางที่สั้นที่สุดเป็นวิธีแก้ปัญหา Invalid maze!ถ้าเขาวงกตเป็นปัญหาโลกแตกที่คุณควรเอาท์พุท ( >>>คือผลลัพธ์) 0 0 0 …

11
ระยะทางสามเหลี่ยมแมนฮัตตัน
ระยะแมนฮัตตันบนตารางปกติเป็นจำนวนขั้นตอนฉากหนึ่งที่ต้องใช้เวลาในการเข้าถึงเซลล์หนึ่งจากที่อื่น ขั้นตอนมุมฉากเป็นขั้นตอนที่ผ่านขอบของเซลล์กริด (ตรงข้ามกับมุมซึ่งจะทำให้เราระยะทาง Chebyshev ) เราสามารถกำหนดระยะทางที่ใกล้เคียงกันบนกริดอื่น ๆ เช่นตารางสามเหลี่ยม เราสามารถระบุที่อยู่ของแต่ละเซลล์ในตารางด้วยชุดรูปแบบการทำดัชนีต่อไปนี้โดยที่แต่ละเซลล์มีx,yคู่: ____________________________________... /\ /\ /\ /\ /\ / \ 1,0/ \ 3,0/ \ 5,0/ \ 7,0/ \ / 0,0\ / 2,0\ / 4,0\ / 6,0\ / 8,0\ /______\/______\/______\/______\/______\... \ /\ /\ /\ /\ / \ 0,1/ \ 2,1/ \ 4,1/ \ 6,1/ …

22
การแทนที่สตริงแบบเรียกซ้ำ
งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับสามสายA, B, Cสร้างสายออกที่แต่ละอินสแตนซ์ของBในAได้ถูกแทนที่ด้วยCซ้ำ การแทนที่แบบเรียกซ้ำหมายถึงการทำซ้ำการแทนที่โดยในแต่ละขั้นตอนอินสแตนซ์ที่ไม่ซ้ำซ้อนทั้งหมดของBในA(เลือกอย่างตะกละตะกลามจากซ้ายไปขวา) จะถูกแทนที่ด้วยCจนกว่าBจะไม่มีอยู่ในAนั้นอีก Input / Output คุณสามารถใช้ใด ๆ ของ วิธีการเริ่มต้นสำหรับ I / O สตริงจะมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น (และอาจมี ใด ๆ ก็ได้ ) Bจะไม่เป็นสตริงว่างเปล่าในขณะที่AและCอาจเป็น สตริงจะถือว่าเป็นธรรมดาคุณไม่สามารถยกตัวอย่างเช่นถือว่าBเป็นรูปแบบ Regex ชุดค่าผสมบางอย่างจะไม่สิ้นสุด โปรแกรมของคุณสามารถทำอะไรก็ได้ในกรณีเหล่านั้น กรณีทดสอบ สิ่งเหล่านี้อยู่ในรูปแบบ: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty …
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

3
การแข่งขันกอล์ฟน้ำแข็ง
เป้าหมายของการท้าทายนี้คือการเขียนโปรแกรมหรือฟังก์ชั่นที่คืนค่าจำนวนนัดน้อยที่สุดที่จำเป็นในการจบหลักสูตร อินพุต เลย์เอาต์ของหลักสูตรสามารถส่งผ่านในรูปแบบและรูปแบบที่คุณต้องการ (อ่านจากคอนโซลผ่านเป็นพารามิเตอร์อินพุตอ่านจากไฟล์หรืออื่น ๆ หลายบรรทัดสตริงสตริงอาร์เรย์อักขระสองมิติ / อาร์เรย์ไบต์) ตำแหน่งเริ่มต้นของลูกบอลและหลุมสามารถส่งผ่านเป็นอินพุตได้เช่นกันโดยไม่จำเป็นต้องแยกวิเคราะห์จากอินพุต ในกรณีทดสอบพวกเขาจะรวมอยู่ในหลักสูตรเพื่อให้แน่ใจว่าไม่มีความสับสนเกี่ยวกับตำแหน่งที่แท้จริง คุณสามารถทำการแมปอักขระที่ป้อนเข้ากับสิ่งอื่นได้ตราบใดที่ยังจำได้ว่าเป็นอักขระที่แตกต่าง (เช่นอักขระ ASCII ที่พิมพ์ได้) เอาท์พุต โปรแกรมจะต้องส่งคืนคะแนนต่ำสุดที่เป็นไปได้ (จำนวนการนัดหยุดงานที่น้อยที่สุดที่จำเป็นในการเข้าถึงรู) สำหรับหลักสูตรใด ๆ ที่ผ่านเป็นอินพุตในรูปแบบที่เหมาะสม (สตริงจำนวนเต็มลอยหรือไฮกุอธิบายผลลัพธ์) หากหลักสูตรเป็นไปไม่ได้ที่จะเอาชนะให้ส่งคืน-1(หรือมูลค่าที่ผิดพลาดอื่น ๆ ที่คุณเลือกซึ่งจะไม่ถูกส่งคืนสำหรับหลักสูตรที่เอาชนะได้) ตัวอย่าง: ในตัวอย่างนี้ตำแหน่งจะถูกระบุด้วย 0, X / Y, จากซ้ายไปขวา, จากบนลงล่าง - แต่คุณสามารถใช้รูปแบบใดก็ได้ที่คุณต้องการเนื่องจากผลลัพธ์นั้นเป็นรูปแบบที่ไม่ขึ้นอยู่กับความสมบูรณ์ การป้อนข้อมูล: ########### # ....# # ...# # ~ . # # ~~~ . # # ~~~~ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.