คำถามติดแท็ก graph-theory

สำหรับความท้าทายเกี่ยวกับกราฟโครงสร้างทางคณิตศาสตร์ที่ใช้ในการสร้างแบบจำลองความสัมพันธ์ระหว่างวัตถุ

2
วาดเครือข่ายของโหนด
มีเครือข่ายถึง 26 โหนดคือ (ชื่อAไปZหรือaเพื่อzให้เป็นไปตามความปรารถนาของคุณ) โหนดทุกคู่อาจเชื่อมต่อหรือตัดการเชื่อมต่อ โหนดอาจเชื่อมต่อกับมากที่สุด 4 โหนดอื่น ๆ งานของคุณคือการวาดเครือข่ายในแผนภาพ 2D จะได้รับการป้อนข้อมูลเพื่อให้งานนี้เป็นไปได้ (ดูข้อ จำกัด เพิ่มเติมในส่วนเอาต์พุต) รูป อินพุต คู่ของตัวอักษร ( AไปยังZหรือaเพื่อzตามความต้องการของคุณ) พวกเขาจะไม่เรียงลำดับใด ๆ ไม่บังคับ - จำนวนคู่ เอาท์พุต ASCII drawing ที่แสดงลิงก์จริงระหว่างโหนด โหนดจะได้รับจากaการzหรือเพื่อA Zใช้-สำหรับลิงค์แนวนอนและ|สำหรับลิงค์แนวตั้ง ลิงค์ที่อาจจะมีความยาวใด ๆ (ไม่ใช่ศูนย์) แต่พวกเขาควรจะเป็นแนวนอนตรง / เส้นแนวตั้งที่ทำไม่ได้โค้งงอ สามารถเพิ่มช่องว่างได้หากไม่ทำให้รูปภาพเสียโฉม คุณไม่สามารถใช้บิวด์อินที่ช่วยในการจัดวางของกราฟ บิวด์อินที่เกี่ยวข้องกับกราฟอื่น ๆ อาจได้รับอนุญาต (แม้ว่าโซลูชันที่ไม่มีบิวด์อินจะนิยมมากกว่า) รหัสที่สั้นที่สุดชนะ ตัวอย่างข้อมูล อินพุต A B B F …

9
พิมพ์สี่เหลี่ยมที่แข็งแรงทั้งหมด 3 คูณ 3
ตารางที่มีความทนทาน (คล้ายกับตารางมายากล ) คือการจัดเรียงของจำนวนเต็ม 1 ถึง N 2บนกริด N โดย N ดังนั้นทุก 2 โดย 2 subgrid จะมีผลรวมเท่ากัน ตัวอย่างเช่นสำหรับ N = 3 หนึ่งตารางที่มีความทนทานคือ 1 5 3 9 8 7 4 2 6 เพราะทั้งสองรุ่นย่อย 4 คูณ 2 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

12
Drunkard's Journey Home
Drunkard's Journey Home ในการท้าทายนี้คุณต้องเขียนโปรแกรมที่เลียนแบบคนเมาที่เดินโซเซกลับบ้านจากบาร์ การป้อนข้อมูล: อินพุตจะเป็นเมทริกซ์คำแทน (แสดงกราฟกำกับ) ซึ่งแสดงเส้นทางที่คนเมาสามารถรับได้ ในแต่ละสถานที่คนขี้เมาจะเลือกเส้นทางเดียวโดยการสุ่ม (แต่ละตัวเลือกมีโอกาสเท่ากันโดยประมาณและไม่ขึ้นอยู่กับตัวเลือกก่อนหน้า) เพื่อติดตาม สมมติว่าคนเมาเหล้าเริ่มที่บาร์เสมอ (แถวแรกในเมทริกซ์ adjacency) หากคนขี้เมาเข้าสู่จุดจบสามารถสันนิษฐานได้ว่าเขาเดินทางกลับบ้านหรือถูกจับกุมเพราะความมึนเมาของสาธารณะและโปรแกรมควรกลับไปตามเส้นทางของเขา สามารถสันนิษฐานได้ว่ากราฟจะมีจุดจบอย่างน้อยหนึ่งจุดเสมอ นอกจากนี้ยังสามารถสันนิษฐานได้ว่าคนเมาเหล้าจะสามารถออกจากบาร์ได้เสมอ (แถวแรกจะไม่ใช่ศูนย์ทั้งหมด) และถ้าคนขี้เมาติดอยู่ในสถานที่ตั้งแถวนั้นจะเป็นศูนย์โดยศูนย์ทั้งหมด เอาท์พุท: ผลลัพธ์จะเป็นเส้นทางที่คนขี้เมาใช้ในความพยายามที่จะทำให้เขากลับบ้าน ค่าสำหรับตำแหน่งที่ตั้งสามารถเป็นศูนย์หรือดัชนีหนึ่งรายการก็ได้ ตัวอย่าง: Input [1,0,1,1] [0,0,0,0] [1,0,0,0] [1,1,1,1] Possible Outputs [0,2,0,3,2,0,0,3,1] [0,3,0,3,1] Input [0,1,1,1,0,1] [1,0,1,0,1,1] [0,0,0,0,0,0] [0,0,0,0,0,1] [1,0,0,0,0,0] [0,0,0,0,0,0] Possible outputs [0,1,5] [0,5] [0,1,4,0,2] [0,3,5] [0,3,0,1,4,0,5] Deterministic path: Input [0,0,1,0] …

1
มันเป็นแคคตัสหรือไม่?
ในทฤษฎีกราฟแคคตัสเป็นกราฟที่เชื่อมต่อกันซึ่งมีวัฏจักรอย่างง่าย ๆ สองอันที่แตกต่างกันในกราฟส่วนแบ่งที่จุดสุดยอดเดียว นี่คือกระบองเพชรที่มี 3 รอบง่าย ๆ ที่มีเส้นประ กราฟต่อไปนี้คล้ายกับภาพด้านบน แต่ไม่ใช่แคคตัสเพราะจุดยอดสองจุดที่มีสีแดงถูกแชร์โดยรอบง่ายๆสองรอบ สิ่งต่าง ๆ อาจมีเล่ห์เหลี่ยมเล็กน้อยตัวอย่างเช่นกราฟต่อไปนี้: อาจดูเหมือนแคคตัส แต่ไม่ใช่ สามารถแสดงได้โดยเน้นรอบต่อไปนี้: รอบนี้ใช้ร่วมกันมากกว่าหนึ่งจุดที่มีจำนวนรอบที่ชัดเจนมากขึ้นในกราฟ คำนิยาม กราฟที่เชื่อมต่อกันเป็นกราฟที่มีเส้นทางอย่างน้อยหนึ่งเส้นทางระหว่างจุดยอดสองจุดใด ๆ วัฏจักรอย่างง่ายคือเส้นทางบนกราฟที่เริ่มต้นและสิ้นสุดที่จุดสุดยอดเดียวกันและไม่เยี่ยมจุดสุดยอดมากกว่าหนึ่งครั้ง กราฟที่เรียบง่ายคือกราฟที่ไม่มีทิศทางและไม่มีน้ำหนักซึ่งไม่มีจุดเชื่อมต่อซึ่งกันและกันโดยมีมากกว่าหนึ่งขอบและไม่มีจุดเชื่อมต่อกับตัวเอง กราฟง่าย ๆ เป็นกราฟพื้นฐานที่สุดและเป็นสิ่งที่คนส่วนใหญ่มีความหมายเมื่อพูดถึงกราฟ งาน ใช้กราฟอย่างง่ายเป็นอินพุตและตัดสินใจว่าเป็นกราฟ Cactus หรือไม่ คุณควรส่งออกสองค่าที่แตกต่างหนึ่งสำหรับจริงและหนึ่งสำหรับเท็จ คุณสามารถป้อนข้อมูลในรูปแบบที่คุณเห็นว่าเหมาะสม นี่คือโค้ดกอล์ฟดังนั้นคุณควรตั้งเป้าหมายที่จะลดจำนวนคำตอบลง กรณีทดสอบ กรณีทดสอบเป็น Adjacency Matrices

5
ทำคะแนนในเกมของ Go
การให้คะแนนเกมGoเป็นงานที่ไม่ง่ายเกินไป ในอดีตมีการถกเถียงกันหลายเรื่องเกี่ยวกับวิธีการออกแบบกฏเพื่อให้ครอบคลุมกรณีมุมแปลก ๆ ที่อาจเกิดขึ้น โชคดีที่ในภารกิจนี้คุณไม่ต้องทำสิ่งที่ซับซ้อนเช่นชีวิตและความตายหรือการตรวจจับเซกิ ในภารกิจนี้คุณต้องใช้โปรแกรมที่ให้คะแนนเกมตามกฎ Tromp-Taylorโดย Komi ขั้นตอนการให้คะแนนค่อนข้างง่าย: จุด P, ไม่ใช่สี C, ถูกพูดถึง C หากมีเส้นทาง (จุดแนวตั้งหรือแนวนอน) จุดสีที่อยู่ติดกันของ P จาก P ไปยังจุดสี C คะแนนของผู้เล่นคือจำนวนจุดสีของเธอ รวมถึงจำนวนคะแนนที่ว่างที่เข้าถึงได้เฉพาะสีของเธอ ตัวอย่างเช่นพิจารณากระดานต่อไปนี้ X, Oและ-แสดงว่าสีดำ, สีขาวและทาสีทางแยก: - - - X - O - - - - - - X - O - - - - - - …

24
ความท้าทาย ogl-edocf
อินพุต ไม่ว่างเปล่าสตริงสับประกอบด้วยอักขระ ASCII ในช่วง ][ 32..126 ][32..126][32..126] เอาท์พุต เอาต์พุตได้มาจากการใช้การหมุนต่อเนื่องกับสตริงอินพุต สำหรับแต่ละตัวอักษร ( [a-zA-Z]) ในสตริงอินพุตให้เปลี่ยนจากซ้ายไปขวา: ถ้าตัวอักษรเป็นตัวพิมพ์ใหญ่หมุนตัวอักษรทั้งหมดก่อนโดยตำแหน่งเดียวไปทางซ้าย หากตัวอักษรเป็นตัวพิมพ์เล็กให้หมุนตัวอักษรทั้งหมดก่อนโดยตำแหน่งเดียวไปทางขวา ตัวอย่าง อินพุต: "Cb-Ad" อักษรตัวแรกคือ " C " เราควรหมุนไปทางซ้าย แต่ไม่มีตัวละครอยู่ก่อนหน้านี้ " C " ดังนั้นจึงไม่มีอะไรจะหมุน ตัวอักษรถัดไปคือ " b " เราหมุน " C " ไปทางขวา เนื่องจากเป็นอักขระตัวเดียวจึงไม่เปลี่ยนแปลง อักขระ " - " ไม่เรียกใช้การหมุนใด ๆ เนื่องจากไม่ใช่ตัวอักษร ตัวอักษรถัดไปคือ " A " เราหมุน …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

13
ทำ NP: หากลุ่มที่ใหญ่ที่สุด
พื้นหลัง ในขณะที่เขียนสิ่งนี้ปัญหา P vs NP ยังไม่ได้รับการแก้ไข แต่คุณอาจเคยได้ยินบทความใหม่ของNorbert Blum ที่อ้างว่าเป็นหลักฐานพิสูจน์ว่า P! = NP ซึ่งเป็นที่สงสัยกันว่าผิดพลาด (แต่เราจะเห็น) ปัญหาที่กล่าวถึงในบทความนี้เป็นปัญหากลุ่มพรรคพวก อย่างน้อยนั่นคือสิ่งที่ฉันอ่านในบทความในหนังสือพิมพ์ดังนั้นให้แก้ไขฉันถ้าฉันผิด แต่ไม่ว่าในกรณีใดฉันต้องการให้คุณเขียนโปรแกรมที่ช่วยแก้ไขตัวแปรต่อไปนี้: งาน สมมติว่าเรามีโรงเรียนขนาดใหญ่ที่มีนักเรียนจำนวนมาก นักเรียนเหล่านี้แต่ละคนมีเพื่อนที่โรงเรียนนี้ ก๊กของนักเรียนเป็นกลุ่มประกอบด้วยเพียงของนักเรียนที่เป็นเพื่อนกับสมาชิกแต่ละคนอื่น ๆ โปรแกรมของคุณจะได้รับนักเรียนที่เป็นเพื่อนเป็นคู่ของมัน จากข้อมูลนี้โปรแกรมจะต้องพบว่าขนาดของก๊กที่ใหญ่ที่สุด นักเรียนจะระบุรหัสจำนวนเต็ม หากคุณชอบคำศัพท์ทางคณิตศาสตร์หมายความว่าคุณได้รับขอบของกราฟที่ไม่ได้บอกทิศทางโดยแต่ละโหนดมีสองโหนด อินพุต [[1,2],[2,5],[1,5]]การป้อนข้อมูลของคุณจะเป็นรายการที่ไม่ว่างเปล่าของคู่จำนวนเต็มบวกเช่น คุณสามารถรับอินพุตนี้ในรูปแบบที่เหมาะสมเช่นเป็นอาร์เรย์ของอาร์เรย์เป็นบรรทัดของข้อความที่มีตัวเลขสองตัวต่อกัน ฯลฯ ... เอาท์พุต ผลลัพธ์ที่คาดหวังคือตัวเลขเดียวn >= 2: ขนาดของกลุ่มที่ใหญ่ที่สุด ด้วยตัวอย่างเช่นการป้อนข้อมูลดังกล่าวข้างต้นผลจะเป็น3เช่นเดียวกับนักเรียนทุกคน ( 1, 2และ5) เป็นเพื่อนกับแต่ละอื่น ๆ กรณีทดสอบ [[1,2]] => 2 [[1,2],[3,1],[3,4]] => 2 [[1,2],[2,5],[1,5]] …

10
วงกลมสองสีที่ทับซ้อนกัน
เขียนโปรแกรมหรือฟังก์ชั่นที่รับอินพุตต่อไปนี้ในรูปแบบที่เหมาะสมตามที่คุณต้องการ: จำนวนเต็มบวกสองจำนวน W และ H ที่กำหนดความกว้างและความสูงของภาพที่คุณกำลังสร้าง สองสี RGB C1 และ C2 ที่จะใช้ในการสีภาพ รายการ 3-tuples ของรูปแบบ(r, x, y)ที่กำหนดวงกลมด้วยรัศมีrและกึ่งกลางx, yในระนาบของภาพ rเป็นจำนวนเต็มบวกและxและyเป็นจำนวนเต็มใด ๆ พิกเซลด้านซ้ายบนของภาพคือ0, 0และแกน x เพิ่มขึ้นไปทางขวาและแกน y เพิ่มขึ้นลง เอาท์พุทภาพที่มีขนาด W คูณ H ที่ทำสีด้วย C1 และ C2 ซึ่งไม่มีบริเวณใกล้เคียงสองแห่งที่กำหนดโดยวงกลมที่ทับซ้อนกันทั้งหมดเป็นสีเดียวกัน ตัวอย่างเช่น:ถ้าอินพุตคือ W = 300 H = 200 C1 = (255, 200, 0) C2 = (128, …

2
A Peak Experience: เยี่ยมชมยอดเขาทั้งหมดได้อย่างรวดเร็ว
ฉันกำลังยืนอยู่ที่จุด(0,0)ในแผนที่Hx Wซึ่งมีระดับความสูงเป็นตัวเลขเช่น: 1132 2221 1230 # H = 3, W = 4 3ฉันต้องการที่จะได้สัมผัสกับมุมมองจากทุกยอดซึ่งในกรณีนี้เป็นพื้นที่ที่มีระดับความสูง อย่างไรก็ตามการปีนขึ้นเขาไม่ใช่เรื่องง่ายและฉันก็หมดเวลาด้วย ท้าทาย ความท้าทายคือการหาเส้นทางที่เร็วที่สุดในการเยี่ยมชมยอดเขาทั้งหมดและกลับมา โปรแกรมที่สั้นที่สุดชนะ อินพุต H, W - ความสูงและความกว้างของแผนที่ (จำนวนเต็ม) (เป็นทางเลือกอาจเป็นรายการ / ทูเปิลหรืออินพุตจำนวนเต็มแยกสองรายการ) แผนที่ที่กำหนดเป็นHชุดWตัวเลข ( 0- 9) ในรูปแบบที่สะดวก (รายการ 2D สตริงคั่นด้วยการขึ้นบรรทัดใหม่ ฯลฯ ) เอาท์พุต ใช้เวลาสั้นที่สุดในการเยี่ยมชมทุกจุดสูงสุดและกลับมาที่จุดเริ่มต้นของคุณ (จำนวนเต็ม) เงื่อนไข ระดับความสูงของพื้นที่ที่กำหนดจะถูกแสดงโดยหลักมาจากการ09 "จุดสูงสุด" ถูกกำหนดโดยพื้นที่ที่มีระดับความสูงสูงสุด เส้นทางทั้งสองจะต้องเริ่มต้นและสิ้นสุดที่(0,0) ด้านซ้ายบนพื้นที่ คุณสามารถย้ายไปยังพื้นที่ที่อยู่ติดกับพื้นที่ปัจจุบันของคุณเท่านั้นและคุณไม่สามารถเคลื่อนที่ในแนวทแยงมุมได้ ใช้เวลา3 นาทีในการย้ายจากพื้นที่หนึ่งไปยังอีกพื้นที่หนึ่งหากไม่มีการเปลี่ยนแปลงระดับความสูง ใช้เวลา11 นาทีในการปีนขึ้นไป; …

1
การแสดงกราฟการพึ่งพา
เป้าหมายของความท้าทายนี้คือการเขียนโปรแกรมที่แสดงกราฟการพึ่งพาในรูปแบบของต้นไม้ ในขณะที่ "กราฟการพึ่งพา" ในบริบทนี้ไม่มีอะไรมากไปกว่ากราฟกำกับ แต่วิธีการสร้างภาพที่อธิบายไว้ที่นี่ทำงานได้ดีที่สุดสำหรับกราฟที่อธิบายถึงความสัมพันธ์เชิงพึ่งพาบางประการ (เช่นแบบฝึกหัดหลังจากที่คุณอ่านความท้าทายแล้ว กราฟตัวอย่างและดูว่าผลลัพธ์มีประโยชน์หรือไม่) การป้อนข้อมูลไปยังโปรแกรมประกอบด้วยหนึ่งหรือมากกว่าเป้าหมายนิยามซึ่งเป็นเส้นของรูปแบบ Target DirectDependency1 DirectDependency2 ... กำหนดเป้าหมายและการพึ่งพาโดยตรงที่เกี่ยวข้องหากมี เป้าหมายและการอ้างอิงของพวกเขาจะเรียกว่าวัตถุ ถ้าวัตถุปรากฏขึ้นเป็นการอ้างอิงเท่านั้นและไม่เป็นเป้าหมายวัตถุนั้นจะไม่มีการอ้างอิง ชุดของวัตถุทั้งหมดที่ปรากฏในการป้อนข้อมูลที่เรียกว่าΓ (ดูส่วนอินพุตและเอาต์พุตสำหรับรายละเอียดเพิ่มเติมเกี่ยวกับรูปแบบอินพุต) สำหรับวัตถุAและBใด ๆเราพูดว่า: Aขึ้นอยู่กับB (เทียบเท่า Aต้องการBโดยA ) ถ้า Aขึ้นอยู่กับ Bโดยตรงหรือถ้า Aขึ้นอยู่กับ B 'โดยตรงและ B'ขึ้นอยู่กับ Bสำหรับวัตถุ Bบางส่วน ; Aขึ้นอยู่กับBอย่างถูกต้อง (เทียบเท่า Aเป็นสิ่งจำเป็นโดยA ) ถ้า Aขึ้นอยู่กับ Bและ Bไม่ได้ขึ้นกับ A เรากำหนดวัตถุที่ถูกประดิษฐ์ʀooᴛไม่ได้อยู่ในʀเช่นนั้น notoo not ไม่ได้ต้องการโดยตรงจากวัตถุใด ๆ และเช่นนั้นสำหรับวัตถุทั้งหมดA , ʀooᴛขึ้นอยู่กับAโดยตรงหากAอยู่ในΓและAไม่ใช่ …

7
Family Tree Solver
นี่คือหนึ่งในความท้าทายหลายประการที่ชุมชนของคาลวินต้องทำ ใช้ไฟล์ "แผนภูมิต้นไม้อธิบาย" ด้วยบรรทัดของแบบฟอร์ม: [ID] [mother ID] [father ID] [gender] [full name] เช่นนี้ซึ่งอธิบายถึงแผนภูมิต้นไม้ครอบครัวแรกที่http://en.wikipedia.org/wiki/Cousin : 1 ? ? M Adam 2 ? ? F Agatha 3 ? ? M Bill 4 2 1 F Betty 5 2 1 M Charles 6 ? ? F Corinda 7 3 4 M David 8 …

23
ตัวชี้กระโดด
สมมติว่าเรามีอาเรย์ของความยาวพร้อมพอยน์เตอร์ที่ชี้ไปยังตำแหน่งบางอย่างในอาเรย์: กระบวนการของ " การกระโดดตัวชี้ " จะตั้งค่าตัวชี้ทุกตำแหน่งที่ตัวชี้ไปยังจุดPSPS\texttt{ps}nnn สำหรับวัตถุประสงค์ของการท้าทายนี้เป็นตัวชี้เป็น (zero-based) ดัชนีขององค์ประกอบของอาร์เรย์นี้แสดงให้เห็นว่าองค์ประกอบในอาร์เรย์ทุกคนจะมีค่ามากกว่าหรือเท่ากับและน้อยกว่าn การใช้สัญกรณ์นี้สามารถกำหนดสูตรได้ดังนี้:000nnn for i = 0..(n-1) { ps[i] = ps[ps[i]] } ซึ่งหมายความว่า (สำหรับการท้าทายนี้) ที่พอยน์เตอร์ได้รับการอัปเดตในลำดับตามลำดับ (เช่น. ดัชนีที่ต่ำกว่าก่อน) ตัวอย่าง ลองทำตัวอย่างPS = [2,1,4,1,3,2]ps = [2,1,4,1,3,2]\texttt{ps = [2,1,4,1,3,2]} : ผม = 0 :องค์ประกอบที่ตำแหน่ง ps [0]= 2 คะแนนถึง 4→ ps= [4,1,4,1,3,2]ผม = 1 :องค์ประกอบที่ตำแหน่ง ps [1]= 1 …

3
ทำตามคำแนะนำที่ไม่สมบูรณ์
เพื่อนของคุณได้บอกเส้นทางไปยังร้านอาหารที่ดีที่สุดในเมือง เป็นชุดของการเลี้ยวซ้ายและขวา น่าเสียดายที่พวกเขาลืมที่จะพูดถึงระยะเวลาที่คุณต้องก้าวไปข้างหน้าระหว่างรอบเหล่านั้น โชคดีที่คุณมีแผนที่ถนนพร้อมร้านอาหารทั้งหมดในนั้น บางทีคุณสามารถคิดได้ว่าร้านอาหารพวกเขาหมายถึงอะไร อินพุต แผนที่ได้รับเป็นตารางสี่เหลี่ยมของอักขระ ASCII .เป็นถนน#เป็นอาคารAที่จะZมีร้านอาหารต่างๆ คุณเริ่มที่มุมซ้ายบนไปทางตะวันออก ตัวอย่าง: .....A .#.### B....C ##.#.# D....E ##F### คำแนะนำของเพื่อนของคุณจะได้รับเป็นสตริง (อาจว่างเปล่า) หรือรายการของตัวละครที่มีLs และRs เอาท์พุต คุณสามารถเดินเส้นทางใด ๆ ที่สอดคล้องกับการเลี้ยวซ้ายและขวาในสตริงการป้อนข้อมูลโดยที่คุณต้องก้าวไปข้างหน้าอย่างน้อยหนึ่งก้าวก่อนที่พวกเขาแต่ละคนรวมทั้งในตอนท้าย โดยเฉพาะอย่างยิ่งนี่หมายความว่าถ้าสตริงเริ่มต้นด้วยRคุณไม่สามารถไปทางใต้ได้ทันทีในคอลัมน์ซ้ายสุด นอกจากนี้ยังหมายความว่าคุณไม่สามารถหมุนได้ 180 องศา คุณไม่สามารถเดินผ่านอาคารหรือร้านอาหารได้ยกเว้นอาคารที่คุณไปถึงในตอนท้าย .คุณอาจจะคิดว่าด้านบนซ้ายมุมเป็น คุณควรส่งออกร้านอาหารทั้งหมดที่สามารถเข้าถึงได้ด้วยคำแนะนำของเพื่อนของคุณเป็นสตริงหรือรายการ คุณอาจคิดว่าคำแนะนำจะนำไปสู่ร้านอาหารอย่างน้อยหนึ่งแห่ง เช่นเดียวLจะไม่ถูกต้องสำหรับแผนที่ด้านบน ตัวอย่างบางส่วนสำหรับแผนที่ด้านบน: <empty> A R F RR B,D RL C,E RLRL E RLLR C RLLL B RLRR …

2
ต้นไม้เหล่านี้มีรูปร่างผิดปกติหรือไม่?
บทนำ ในการท้าทายนี้งานของคุณคือการเขียนโปรแกรมที่ตัดสินว่าต้นไม้ที่ให้มาสองต้นนั้นเป็น isomorphic หรือไม่ ทรีหมายถึงกราฟที่กำหนดทิศทางโดยที่ทุกโหนดมีขอบขาออกเดียวยกเว้นรูทซึ่งไม่มี ต้นไม้สองต้น isomorphic หากสามารถแปลงเป็นต้นไม้อื่นได้โดยเปลี่ยนชื่อโหนด ตัวอย่างเช่นต้นไม้สองต้น (ที่ขอบทุกจุดชี้ขึ้น) 0 0 /|\ /|\ 1 3 4 1 2 5 |\ /| 2 5 3 4 จะเห็นได้อย่างง่ายดายว่าเป็น isomorphic เราเข้ารหัสต้นไม้เป็นรายการLของจำนวนเต็ม nonnegative ในวิธีต่อไปนี้ รากของต้นไม้ที่มีฉลากและก็ยังมีโหนด0 1,2,...,length(L)แต่ละโหนดi > 0มีขอบออกไปถึงL[i](โดยใช้การจัดทำดัชนีแบบ 1 ฐาน) ตัวอย่างเช่นรายการ (พร้อมดัชนีที่ให้ไว้ภายใต้องค์ประกอบ) [0,0,1,3,2,2,5,0] 1 2 3 4 5 6 7 8 เข้ารหัสต้นไม้ 0 …

1
หนังสยองขวัญปาร์ตี้ค้นหา
เรื่องย่อ : Jimmy หายไป; เราต้องไปหาเขา เราควรแยกกัน เรื่องย่อ : Jimmy ตายไปแล้ว แต่นักแสดงของเราไม่รู้เช่นนั้นดังนั้นพวกเขาจึงต้องค้นหาพื้นที่ทั้งหมดต่อไป มีตาราง N คอลัมน์ x M แถว (1 <= M, N <= 256) ตารางของเซลล์ซึ่งระบุว่าเป็น "S" สำหรับจุดเริ่มต้น " สำหรับพื้นที่เปิดโล่งหรือ "#" สำหรับสิ่งกีดขวาง นี่คือแผนที่ มีอยู่ 0 <= p <= 26 มีcostars , 0 <= Q <= 26 แถมและ 1 ดาว ทุกคนเริ่มต้นในเซลล์ที่มีเครื่องหมาย S กฎระเบียบ …

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