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

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

4
เติบโต Ameobas แมนฮัตตัน
กราฟ *** ameoba **** เป็นต้นไม้ชนิดหนึ่งที่มีโหนดทั้งหมดมีค่าตั้งแต่ 0 ถึงจำนวนเต็มที่ไม่ใช่ค่าลบ N และโหนดใด ๆ ที่มีค่า x <N เชื่อมต่อกับ x + 1 โหนดที่แตกต่างที่มีค่า x + 1 กราฟ Ameoba สำหรับ N = 3: (หมายถึง A 3 ) โปรดทราบว่า 2 ของไม่ได้รับอนุญาตให้แบ่งปันใด ๆ ของ 3; สิ่งที่สามสามต้อง "เป็น" ต่อแต่ละ 2 ท้าทาย งานของคุณคือการ "เหนี่ยว" กราฟ ameoba เหล่านี้แบบ inductively ในตาราง 2 …

5
จำนวนทอพอโลยีทั้งหมด
สำหรับ DAG ที่กำหนด (กราฟ acyclic กำกับ) การเรียงลำดับทอพอโลยีแต่ละอันเป็นการเปลี่ยนแปลงของจุดยอดทั้งหมดที่ทุก ๆ ขอบ(u, v)ใน DAG คุณจะปรากฏก่อนvในการเปลี่ยนรูป งานของคุณคือการคำนวณจำนวนโทโพโลยีทั้งหมดของ DAG ที่กำหนด กฎระเบียบ คุณสามารถใช้รูปแบบใดก็ได้เพื่อแสดงกราฟเช่น adjacency matrix, adjacency list หรือ edge list ตราบใดที่คุณไม่มีการคำนวณที่มีประโยชน์ในการเข้ารหัสของคุณ คุณยังสามารถมีสิ่งต่าง ๆ เช่นจำนวนจุดยอดหรือรายการจุดยอดในอินพุตถ้าสิ่งเหล่านั้นมีประโยชน์ คุณสามารถสมมติกราฟในอินพุตได้เสมอ DAG (ไม่มีรอบใด ๆ ) โปรแกรมของคุณควรทำงานในทางทฤษฎีสำหรับการป้อนข้อมูลใด ๆ แต่มันอาจล้มเหลวได้หากมันล้นประเภทจำนวนเต็มพื้นฐานในภาษาของคุณ ชื่อของจุดยอดสามารถเป็นค่าต่อเนื่องในประเภทใดก็ได้ ตัวอย่างเช่น: ตัวเลขเริ่มต้นที่ 0 หรือ 1 (และเฉพาะในกรณีที่คุณไม่ได้เก็บรหัสไว้ในหมายเลขนี้แน่นอน) นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ ตัวอย่าง นี่เป็นอินพุตเดียวกันในรูปแบบที่ต่างกัน โปรแกรมของคุณไม่จำเป็นต้องยอมรับทั้งหมด จุดยอดเป็นจำนวนเต็มเริ่มต้นที่ 0 …

2
สี่เหลี่ยมจัตุรัสที่ใหญ่ที่สุดในกริด [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน2 ปีที่ผ่านมา ท้าทาย ให้กริดแบบนี้ 1 2 3 4 5 6 7 8 1 . . . . . . . . 2 . # . . . # . . 3 . . . . . . . . 4 . …

3
อะไรที่กำหนดให้กับอะไร
ที่เกี่ยวข้อง อะไรที่กำหนดให้กับอะไร ในความท้าทายนี้คุณจะได้รับสองประเภทAและBและตรวจสอบว่าAเป็นไปมอบหมายB, Bย่อมโอนไปAหรือไม่ ระบบประเภท (ฉันจะใช้tเพื่อเป็นตัวแทนประเภทใด ๆ ) ประเภทพื้นฐาน Xประเภทพื้นฐานจะถูกแทนด้วยอักษรตัวใหญ่เดียวเช่น พวกเขาเป็นชั้นเรียนโดยทั่วไป Xย่อมโอนไปYถ้าเป็นอย่างใดอย่างหนึ่งเช่นเดียวกับหรือระดับผู้ปกครองของYX ประเภทแยก ประเภทการแยกจะถูกแทนด้วยintersect<X, Y>และสามารถมีประเภทจำนวนเท่าใดก็ได้ระหว่าง<'s (เช่นintersect<X, Y, Z, D, E>) tสามารถมอบหมายได้intersect<X1, X2... Xn>หากtสามารถมอบหมายให้กับทุกคนXได้ intersect<X1, X2... Xn>ย่อมโอนไปtถ้าเป็นไปมอบหมายXt ประเภทสหภาพ ประเภทสหภาพถูกแสดงโดยunion<X, Y>และสามารถมีจำนวนประเภทใดก็ได้ระหว่าง<'s (เช่นunion<X, Y, Z, D, E>) tย่อมโอนไปunion<X1, X2... Xn>ถ้าเป็นมอบหมายใด ๆtX union<X1, X2... Xn>สามารถมอบหมายให้ได้tหากทุกอย่างXสามารถมอบหมายtได้ อินพุต คุณจะได้รับเป็นอินพุต: ลำดับชั้นของชั้นเรียน คุณสามารถเลือกวิธีการป้อนข้อมูลสำหรับลำดับชั้นของคลาส คุณสามารถป้อนการแสดงทรีหรือแต่ละชนิดด้วยรายการของพาเรนต์หรือสิ่งอื่นที่แสดงถึงลำดับชั้นของคลาสได้อย่างถูกต้อง สองประเภท (อินพุตมีความยืดหยุ่นตราบใดที่สัญกรณ์สอดคล้องกันคุณอาจได้รับประเภทเหล่านี้ตามที่คุณต้องการ) เอาท์พุต คุณจะเป็นหนึ่งในการส่งออกของสามค่าที่สอดคล้องกันและแตกต่างกันเรียกพวกเขาX, …

2
การคาดการณ์ของ von Koch
คุณอาจรู้จัก von Koch ซึ่งเป็นนักคณิตศาสตร์จากเกล็ดหิมะชื่อดังของเขา อย่างไรก็ตามเขามีปัญหาด้านวิทยาศาสตร์คอมพิวเตอร์ที่น่าสนใจมากกว่าเดิม ที่จริงเรามาดูการคาดเดานี้: ให้ต้นไม้ที่มีnโหนด (ดังนั้นn-1ขอบ) หาวิธีที่จะระบุโหนดจาก1ไปnและตามขอบจาก1ไปn-1ในลักษณะที่แต่ละขอบแตกต่างของตัวเลขโหนดของมันเท่ากับk kการคาดเดาคือสิ่งนี้เป็นไปได้เสมอ นี่คือตัวอย่างเพื่อให้ชัดเจนอย่างสมบูรณ์: งานของคุณ รหัสของคุณจะใช้เป็นต้นไม้ป้อนคุณสามารถใช้รูปแบบที่คุณต้องการ แต่สำหรับกรณีทดสอบฉันจะให้ต้นไม้โดยส่วนโค้งและรายการโหนดของพวกเขา ตัวอย่างเช่นนี่คืออินพุตสำหรับต้นไม้ในภาพ: [a,b,c,d,e,f,g] d -> a a -> b a -> g b -> c b -> e e -> f รหัสของคุณจะต้องส่งคืนต้นไม้ที่มีโหนดและขอบเลข คุณสามารถส่งคืนเอาต์พุตกราฟิกเพิ่มเติม แต่ฉันจะให้ผลลัพธ์ประเภทนี้สำหรับกรณีทดสอบ: [a7,b3,c6,d1,e5,f4,g2] d -> a 6 a -> b 4 a -> g 5 …

6
ค้นหาเส้นทาง!
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่น อินพุตเป็น 'แผนที่' ของตัวเลข คุณสามารถเลือกที่จะใช้แผนที่เป็นสตริงที่มีอักขระบรรทัดใหม่ ( \n) หรืออาร์เรย์ของสตริง 2D แผนที่ทั้งหมดเป็น 5 ตัวอักษร 5 ตัวและตัวละครจะเป็นตัวเลขมากกว่า 0 หรือเว้นวรรคเสมอ นี่คือตัวอย่างของแผนที่: 12 45 11233 233 1 2 899 งานของคุณคือการค้นหาส่วนประกอบที่เชื่อมต่อในแผนที่ ส่วนประกอบที่ถูกต้องคือชุดของอย่างน้อยสามแนวนอนและ / หรือแนวตั้ง ( ไม่ใช่แนวทแยงมุม ) ตัวเลขที่เหมือนกันที่เชื่อมต่อ ( ไม่เว้นวรรค ) จากนั้นคุณจะต้องแทนที่อักขระของส่วนประกอบที่เชื่อมต่อที่ถูกต้องด้วยxs และพิมพ์หรือส่งคืนผลลัพธ์นั้น ดังนั้นผลลัพธ์สำหรับตัวอย่างข้างต้นจะเป็น: x2 45 xx2xx 2xx 1 2 899 นี่คืออีกกรณีทดสอบ (ขอบคุณ Martin Ender): Input: …

2
เล่นเกม 4x4 Hex สมบูรณ์แบบ
พื้นหลัง Hexเป็นเกมกลยุทธ์นามธรรมผู้เล่นสองคนที่เล่นบนK×Kรูปสี่เหลี่ยมขนมเปียกปูนของแผ่นกระเบื้องหกเหลี่ยม สองฝั่งตรงข้ามของรูปสี่เหลี่ยมขนมเปียกปูนเป็นสีขาวและอีกสองสีดำและผู้เล่นสองคนสีดำและสีขาวผลัดกันวางสัญลักษณ์ของสีของพวกเขาบนกระเบื้องที่ว่าง ผู้เล่นคนแรกที่สร้างเส้นทางระหว่างฝั่งตรงข้ามของสีเป็นผู้ชนะ เป็นที่ทราบกันดีว่าเกมไม่สามารถจบด้วยการเสมอกันและผู้เล่นคนแรกมีกลยุทธ์ในการชนะโดยไม่คำนึงถึงขนาดของบอร์ด (ดูรายละเอียดในหน้า Wikipedia) งาน ในความท้าทายนี้เราจะกำหนดขนาดกระดานที่K = 4และแสดงกระดานเป็นตารางต่อไปนี้ เส้นหนาแสดงถึงกระเบื้องที่อยู่ติดกัน งานของคุณคือสร้างกลยุทธ์ที่ชนะสำหรับผู้เล่นคนแรกซึ่งคุณสามารถเลือกให้เป็นสีดำหรือขาว ซึ่งหมายความว่าสิ่งใดก็ตามที่ผู้เล่นฝ่ายตรงข้ามทำตามกฏหมายการเล่นของคุณจะต้องได้รับชัยชนะ การป้อนข้อมูลของคุณคือตำแหน่งเกม (การจัดเรียงโทเค็นบนกระดาน) และผลลัพธ์ของคุณเป็นการเคลื่อนไหวที่ถูกกฎหมายในรูปแบบที่ระบุด้านล่าง หากคุณต้องการค้นหากลยุทธ์การชนะด้วยตัวคุณเองอย่าอ่านสปอยเลอร์นี้: โครงร่างของกลยุทธ์การชนะที่เป็นไปได้โดยสมมติว่าสีขาวเป็นอันดับแรก ขั้นแรกให้เลือก 5. หลังจากนั้นหากคุณมีเส้นทางจาก 5 ไปยังแถวด้านล่างหรือสีดำเลือก 0 หรือ 1 ที่จุดใดก็ได้ให้ตอบกลับโดยเลือกว่า 0 หรือ 1 ว่างเท่าไร หากสีดำเลือก 9 หรือ 13 ให้เลือก 10 จากนั้นค่าใดก็ตามที่ 14 หรือ 15 จะว่าง หากสีดำไม่ได้เลือก 9, 13 หรือ 14 ให้เลือก 9 …

1
แม่พิมพ์เมือกสามารถนับได้!
พื้นหลัง ราเมือกนั้นยอดเยี่ยม หากคุณวางพวกเขาไว้บนพื้นผิวที่มีแหล่งอาหารพวกเขาจะแพร่กระจายกิ่งก้านของพวกเขาเพื่อค้นหาอาหารจากนั้นพวกเขาจะสร้างเครือข่ายการเชื่อมโยงระหว่างแหล่งที่มา ในการท้าทายนี้คุณจะต้องจำลองราเมือกหาอาหาร ยิ่งไปกว่านั้นแม่พิมพ์นี้จะหยุดทันทีเมื่อพบว่าเพียงพอ อินพุต ปัจจัยการผลิตของคุณจะเป็นรายการLของ 2D Nจำนวนเต็มพิกัดในรูปแบบของภาษาพื้นเมืองของคุณและติดลบ รายการLรับประกันว่าจะไม่ซ้ำกัน แต่มันอาจไม่ถูกเรียงลำดับ อินพุตNอยู่ระหว่าง 0 ถึงความยาวLรวม รายการLแสดงชุดของพิกัดสำหรับแหล่งอาหาร ตัวอย่างเช่นรายการ [(0,0),(2,-1),(3,1),(0,4),(5,5)] สามารถตีความได้ด้วยสายตาเป็น o o o o o เอาท์พุต เอาต์พุตของคุณเป็นรายการที่ไม่มีค่าซ้ำกันKของพิกัดจำนวนเต็ม 2D ในรูปแบบเดียวกับอินพุต มันหมายถึงเครือข่ายที่เกิดขึ้นจากราเมือกและมันจะต้องตอบสนองเงื่อนไขดังต่อไปนี้: จุดตัดของLและมีขนาดตรงKN ชุดKเชื่อมต่อเป็นส่วนย่อยของตารางจำนวนเต็ม (ผ่าน adogencies มุมฉากหรือทแยงมุม) หากพิกัดใด ๆ ของKถูกลบออกมันจะไม่เป็นไปตามเงื่อนไขสองประการแรกอีกต่อไป โปรดทราบว่าถ้าN = 0ผลลัพธ์จะต้องเป็นรายการที่ว่างเปล่า ตัวอย่างของเอาต์พุตที่ยอมรับได้สำหรับรายการด้านบนLและN = 4จะเป็น [(0,0),(0,1),(0,2),(0,3),(0,4),(1,4),(2,4),(3,3),(3,2),(3,1),(3,5),(4,5),(5,5)] ซึ่งสามารถมองเห็นเป็น xxO Oxx x x x x …

7
การบ้านคณิตศาสตร์ชั้นประถมศึกษาปีที่สี่สำหรับสัปดาห์: พนักงานขายการเดินทางที่ไม่มีประสิทธิภาพมากที่สุด
ลูกสาวของฉันมีการบ้านคณิตศาสตร์ต่อไปนี้ ลองนึกภาพเพื่อนหกคนที่อาศัยอยู่บนเส้นหนึ่งชื่อ E, F, G, H, J และ K ตำแหน่งของพวกเขาในบรรทัดดังที่ระบุไว้ (ไม่ขยาย) ด้านล่าง: ดังนั้น F มีชีวิตอยู่ห้าหน่วยจาก E และอีกสองหน่วยจาก G และอื่น ๆ การมอบหมายของคุณ: จัดทำโปรแกรมที่ระบุเส้นทางที่เข้าเยี่ยมเพื่อนแต่ละคนโดยมีความยาวทั้งหมดnหน่วยโดยใช้ตำแหน่งของเพื่อนและnเป็นอินพุต ควรรายงานเส้นทางหากพบ (ตัวอย่างเช่นสำหรับความยาว 17 อาจรายงาน "E, F, G, H, J, K" และควรออกอย่างสง่างามหากไม่มีวิธีแก้ปัญหาสำหรับสิ่งที่คุ้มค่าฉันเสร็จสิ้นแล้ว คำตอบที่ไม่ดีนักใน Mathematica ขนาด 271 ไบต์ฉันคิดว่ามันเป็นไปได้ที่จะกระชับกว่านั้น

4
ตัวเลข nonary แข็งแกร่งแค่ไหน?
คุณจะได้รับจำนวนเต็ม nonary (ฐาน 9) ที่ไม่ใช่ลบประกอบด้วยตัวเลข 0 ถึง 8 ตามปกติ อย่างไรก็ตามจำนวนตัวเลขในจำนวนนี้ (ไม่มีเลขศูนย์นำหน้า) เป็นรูปสี่เหลี่ยมจตุรัส ด้วยเหตุนี้จึงสามารถจัดเรียงตัวเลขในตารางสี่เหลี่ยม (โดยยังคงคำสั่งการอ่านไว้) ตัวอย่างกับ 1480 (1125 ฐาน 10): 14 80 ตอนนี้ขอหลักในตาราง nonary ทุกบ่งบอกถึงการเคลื่อนไหวไปยังพื้นที่ตารางอื่น (ที่มีเงื่อนไขขอบเขตระยะ ): 432 501 678 นี่เป็นการบอกว่า 0 = stay still 1 = move right 2 = move right and up 3 = move up ... 8 …

6
ให้ต้นไม้สร้างรหัสPrüferของมัน
ใน กราฟทฤษฎีรหัสPrüferเป็นลำดับที่ไม่ซ้ำกันของจำนวนเต็มว่าหมายถึงต้นไม้ที่เฉพาะเจาะจง คุณสามารถค้นหารหัสPrüferของต้นไม้ด้วยอัลกอริทึมต่อไปนี้นำมาจาก Wikipedia: พิจารณา T {1, 2, ..., n}ต้นไม้ที่มีป้ายกำกับจุด ที่ขั้นตอนที่1ให้นำใบไม้ที่มีฉลากขนาดเล็กที่สุดออกแล้วตั้งค่าองค์ประกอบที่iของลำดับPrüferให้เป็นป้ายกำกับของเพื่อนบ้านของใบไม้นี้ (โปรดทราบว่าเนื่องจากเป็นใบไม้จึงมีเพียงเพื่อนบ้านเดียว) คุณควรหยุดการทำซ้ำเมื่อเหลือเพียงสองจุดยอดในกราฟ งาน ให้ต้นไม้ที่มีข้อความเป็นอินพุตเอาต์พุตโค้ดPrüfer คุณสามารถป้อนข้อมูลในลักษณะที่สมเหตุสมผล เช่นเมทริกซ์ adjacency หรือภาษาของคุณแสดงกราฟในตัว ( คุณไม่สามารถรับรหัสPrüferได้ ) นี่คือ รหัสกอล์ฟ ดังนั้นคุณควรมุ่งหวังที่จะลดจำนวนไบต์ในแหล่งที่มาของคุณ กรณีทดสอบ นี่คืออินพุตบางส่วนใน ASCII พร้อมกับเอาต์พุตด้านล่าง คุณไม่จำเป็นต้องรองรับอินพุต ASCII เช่นนี้ 3 | 1---2---4---6 | 5 {2,2,2,4} 1---4---3 | 5---2---6---7 | 8 {4,4,2,6,2,5} 5---1---4 6 | | 2---7---3 {1,1,2,7,3}

3
ปัญหาการไหลของต้นทุนต่ำสุด
เครือข่ายการไหลเป็นกราฟG = (V, E)ที่มีจุดสุดยอดแหล่งที่มาs ϵ Vและจุดสุดยอดอ่างล้างจานt ϵ Vและที่ขอบทุก(u, v) ϵ Eบนกราฟ (เชื่อมต่อโหนดu ϵ Vและv ϵ V) มี 2 ปริมาณที่เกี่ยวข้องกับมัน: c(u, v) >= 0ความจุของขอบ a(u, v) >= 0ค่าใช้จ่ายในการส่งหนึ่งหน่วยผ่านขอบ เรากำหนดฟังก์ชั่นที่จะได้รับจำนวนหน่วยที่ถูกส่งผ่านขอบให้0 <= f(u, v) <= c(u, v) (u, v)ดังนั้นค่าใช้จ่ายสำหรับขอบที่กำหนดคือ(u, v) ปัญหาการไหลขั้นต่ำค่าใช้จ่ายถูกกำหนดให้เป็นการลดค่าใช้จ่ายรวมกว่าขอบทั้งหมดสำหรับจำนวนเงินไหลที่กำหนดให้ตามปริมาณต่อไปนี้:a(u, v) * f(u, v)d ข้อ จำกัด ต่อไปนี้ใช้กับปัญหา: ข้อกำหนดด้านความจุ : การไหลผ่านขอบที่กำหนดอาจไม่เกินความจุของขอบนั้น ( f(u, …

2
เคล็ดลับการเล่นกอล์ฟใน The Powder Toy
ขอให้สนุกกับเกมนี้The Powder Toyเป็นความท้าทายที่น่าสนใจสำหรับกอล์ฟโดยเฉพาะกับตัวกรอง สิ่งที่ทำให้ TPT เป็นความท้าทายคือหลาย ๆ วิธีในการแก้ไขปัญหา: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic? ดังนั้นสถานที่สำหรับเคล็ดลับสำหรับการเล่นกอล์ฟ TPT จะค่อนข้างมีประโยชน์ดังนั้นฉันจึงสร้างคำถามนี้ขึ้นมา เธรดนี้มีแนวโน้มที่จะใช้ตัวย่อจำนวนมาก ส่วนใหญ่จะเป็นองค์ประกอบในเกมดังนั้นการค้นหาพวกเขาบนWikiจะทำให้คุณได้รับข้อมูลมากมายเกี่ยวกับพวกเขาเช่นที่พวกเขาเป็น ต่อไปนี้เป็นสิ่งที่พบบ่อยที่สุดที่คุณจะเห็นในกระทู้นี้พร้อมแนบคำอธิบายในเกม (และชื่อเต็มของพวกเขา) สำหรับผู้ที่ไม่ต้องการค้นหา: SPRK: ไฟฟ้า พื้นฐานของอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดใน TPT เดินทางไปตามสายไฟและองค์ประกอบนำไฟฟ้าอื่น ๆ กรอง: ตัวกรอง กรองโฟตอนเปลี่ยนสี ARAY: Ray Emitter รังสีสร้างคะแนนเมื่อชนกัน BTRY: แบตเตอรี่ สร้างกระแสไฟฟ้าไม่สิ้นสุด DRAY: เครื่องทำสำเนาเรย์ …
9 code-golf  tips  the-powder-toy  code-golf  number  array-manipulation  integer  code-golf  string  decision-problem  boggle  code-golf  array-manipulation  average  code-golf  math  code-golf  decision-problem  restricted-source  code-golf  code-golf  math  primes  code-golf  random  code-golf  tips  perl  code-golf  string  parsing  code-golf  math  number  decision-problem  code-golf  math  number  code-golf  string  alphabet  code-golf  math  geometry  code-golf  interpreter  brainfuck  code-golf  code-golf  decision-problem  boggle  code-golf  math  number  sequence  code-golf  math  code-golf  ascii-art  code-challenge  restricted-source  quine  code-golf  math  decision-problem  number-theory  primes  code-golf  ascii-art  code-golf  integer  graph-theory  chess  code-golf  math  interpreter  code-golf  code-golf  code-golf  ascii-art  code-golf  arithmetic  number-theory  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  code-golf  primes  factoring  encode  code-golf  decision-problem  code-golf  geometry  grid  code-golf  quine  code-golf  matrix  code-golf  matrix  code-golf  code-golf  number  array-manipulation  code-golf  array-manipulation  sorting  code-golf  matrix  code-golf  brain-flak 

1
Advent Challenge 2: The Vault Raid!
<< ก่อนหน้า ถัดไป >> ท้าทาย ตอนนี้ซานต้าได้คิดในท้ายที่สุดว่าจะเข้าห้องนิรภัยในปัจจุบันของเขาได้อย่างไรเขาตระหนักดีว่าพวกเอลฟ์เข้ามาอยู่ข้างหน้าเขาแล้วขโมยของขวัญของเขา! พวกเขาไม่ได้คิดวิธีออกจากหลุมฝังศพ แต่ซานต้าจึงต้องพยายามและจับพวกเขาทั้งหมด ทั้งซานต้าและพวกเอลฟ์ต่างก็มีพลังงานไม่ จำกัด ที่จะวิ่งไปรอบ ๆ แต่น่าเสียดายที่พวกเอลฟ์นั้นมีพลังงานที่ไม่มีที่สิ้นสุดดังนั้นถ้าพวกมันวิ่งวนเป็นวง ๆ ทุกที่พวกเอลฟ์ก็จะได้รับอิสระ ให้กราฟของnโหนและeขอบโดยมีการเดินที่มีอยู่ระหว่างสองโหนและตำแหน่งของเอลฟ์และซานต้ากำหนดจำนวนเอลฟ์ซานต้าที่สามารถจับได้ก่อนที่เขาจะเหนื่อย การไล่ล่านั้นเป็นแบบเลี้ยว แต่ละรอบเอลฟ์จะย้ายไปพร้อม ๆ กันก่อน (พวกมันสามารถเคลื่อนที่ผ่านกันและกันและเข้าสู่โหนดเดียวกันได้เช่นกัน) จากนั้นซานต้าก็จะเคลื่อนที่ หากซานต้าย้ายไปยังโหนดเดียวกันกับเอลฟ์เขาจะจับเอลฟ์นั้นได้ เอลฟ์แต่ละคนสามารถย้ายจากโหนดเดียวไปยังเพื่อนบ้านได้ในขั้นตอนเดียว ซานต้าก็เหมือนกันในตอนแรก แต่สำหรับเอลฟ์ทุกคนที่เขาจับได้ซานต้าสามารถก้าวไปอีกขั้นหนึ่งได้ ดังนั้นถ้าซานต้าจับเอลฟ์แล้วเขาสามารถย้ายจากโหนดไปยังเพื่อนบ้านของเพื่อนบ้านได้ ซึ่งหมายความว่าเขาสามารถย้ายไปยังโหนดและกลับมา อย่างไรก็ตามเนื่องจากซานต้าทำงานเร็วเกินไปในช่วงเวลานี้เขาจะไม่จับเอลฟ์ที่ผ่านกลางขั้น (ดังนั้นถ้าเขาอยู่บน A, A เชื่อมต่อกับ B, B เชื่อมต่อกับ C จึงมีเอลฟ์อยู่ B และซานต้าย้ายจาก A -> B -> C เอลฟ์ยังไม่ถูกจับ) อย่างไรก็ตามซานต้าไม่จำเป็นต้องย้ายหลายขั้นตอนพร้อมกัน เขาขยับขึ้นไป 1 + …

7
ตีกอล์ฟหลอก!
บทนำ / ความเป็นมา ในการสนทนาเมื่อเร็ว ๆ นี้ในการแชท cryptoฉันถูกท้าทายให้พูดคุย / ช่วยเหลือเกี่ยวกับการทดสอบแบบดั้งเดิมของแฟร์มาต์และหมายเลขคาร์ไมเคิล การทดสอบนี้ขึ้นอยู่กับสถานที่ตั้งที่a^(p-1) mod p==1จะถือเป็นช่วงเวลาpเสมอ แต่ไม่เสมอไปสำหรับคอมโพสิต ขณะนี้จำนวน Carmichael เป็นหลักทดสอบศัตรูที่เลวร้ายที่สุดของแฟร์มาต์: จำนวนที่คุณต้องเลือกaที่จะไม่ร่วมกับนายกรัฐมนตรีที่จะได้รับp a^(p-1) mod p!=1ทีนี้ถ้าaไม่ใช่เพื่อนร่วมคุณก็พบว่าปัจจัยที่ไม่ใช่เรื่องไร้สาระpและอย่างที่เราทุกคนรู้ว่าแฟคตอริ่งนั้นค่อนข้างยาก โดยเฉพาะอย่างยิ่งหากปัจจัยทั้งหมดมีขนาดใหญ่พอสมควร ตอนนี้คุณอาจรู้ว่าทำไมการทดสอบแฟร์มาต์ไม่ได้ถูกใช้ในทางปฏิบัติบ่อยครั้ง (มีอัลกอริธึมที่ดีกว่า) เนื่องจากมีตัวเลขที่คุณเป็นผู้พิทักษ์ ผู้โจมตี (คือปัจจัยจำนวน) ตอนนี้เรารู้แล้วว่าทำไมตัวเลขเหล่านี้ถึงน่าสนใจเราจะสร้างมันขึ้นมาให้สั้นที่สุดเท่าที่จะเป็นไปได้ดังนั้นเราสามารถจำรหัสการสร้างได้หากเราต้องการ! หมายเลขร์ไมเคิลยังเป็นที่รู้จักA002997 ใน OEIS มีความท้าทายที่เกี่ยวข้องอยู่แล้ว แต่รายการจากที่นั่นไม่สามารถแข่งขันได้ที่นี่เพราะสิ่งเหล่านี้ได้รับการปรับให้เหมาะสมกับความเร็วเมื่อเทียบกับขนาด อาร์กิวเมนต์เดียวกันถือสำหรับทิศทางผกผันรายการที่นี่มีแนวโน้มที่จะทำให้การแลกเปลี่ยนกับความเร็วในความโปรดปรานของขนาด สเปค อินพุต นี่คือมาตรฐาน ลำดับความท้าทายดังนั้นคุณจึงใช้จำนวนเต็มบวกหรือไม่ใช่ลบnเป็นอินพุต nอาจเป็นดัชนี 0- หรือ 1 ตามที่คุณต้องการ (โปรดระบุ) เอาท์พุต ผลลัพธ์ของคุณอาจเป็นnหมายเลข -m carmichael หรือnหมายเลข carmichael แรกตามที่คุณต้องการ …
9 code-golf  math  sequence  number-theory  primes  code-golf  string  code-golf  math  combinatorics  permutations  restricted-complexity  code-golf  array-manipulation  code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

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