คำถามติดแท็ก geometry

ความท้าทายนี้มีจุดมุ่งหมายเพื่อแก้ไขโดยใช้จัดการหรือสร้างรูปร่างหรือโครงสร้างทางเรขาคณิตอื่น ๆ

12
พื้นที่ของรูปหลายเหลี่ยมนี้คืออะไร
คำนวณพื้นที่ของรูปหลายเหลี่ยม แรงบันดาลใจจากวิดีโออัลกอริทึมเชือกผูกรองเท้า งาน งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่คำนวณพื้นที่ของรูปหลายเหลี่ยม โปรแกรมหรือฟังก์ชั่นถูกกำหนดตามคำนิยามเริ่มต้นในเมตาดาต้า อินพุต คุณจะได้รับพิกัด X และ Y ของแต่ละจุดยอดของรูปหลายเหลี่ยม คุณสามารถรับอินพุตเป็นรายการของ tuples ( [[x1, y1], [x2, y2], etc]), เมทริกซ์หรือรายการแบน ( [x1, y1, x2, y2, etc]) อนุญาตให้มีสองรายการประกอบด้วยxและyพิกัดตามลำดับ จุดยอดมีหมายเลขทวนเข็มนาฬิกาและจุดสุดยอดแรกจะเหมือนกับจุดสุดยอดที่ให้ไว้ดังนั้นปิดรูปหลายเหลี่ยม หากคุณต้องการคุณสามารถป้อนข้อมูลโดยไม่มีจุดสุดยอดครั้งสุดท้าย (ดังนั้นรับแต่ละพิกัดเพียงครั้งเดียว) คุณสามารถสันนิษฐานได้ว่าขอบของรูปหลายเหลี่ยมไม่ได้ตัดกัน คุณสามารถสันนิษฐานได้ว่าจุดยอดทั้งหมดมีพิกัดจำนวนเต็ม เอาท์พุต พื้นที่ของรูปหลายเหลี่ยม อนุญาตวิธีการส่งออกมาตรฐานทั้งหมด หากภาษาของคุณไม่อนุญาตให้มีการหารแบบลอยตัวและวิธีแก้ปัญหาจะไม่ใช่จำนวนเต็มคุณได้รับอนุญาตให้ส่งคืนเศษส่วน ไม่จำเป็นต้องทำให้เศษส่วนเรียบง่ายดังนั้น2/4จะอนุญาตให้ส่งคืนได้ เกณฑ์การชนะ รหัสที่สั้นที่สุดชนะ! กรณีทดสอบ [[4,4],[0,1],[-2,5],[-6,0],[-1,-4],[5,-2],[4,4]] 55 [[1,1],[0,1],[1,0],[1,1]] 0.5 1/2

2
ผ้าขนหนูพับ!
ผมได้ยินบางที่สิ่งหนึ่งที่เทคโนโลยีไม่สามารถทำได้เลยคือผ้าขนหนูพับ1 ตอนนี้มันเป็นหน้าที่ของคุณที่จะพิสูจน์ว่าข้อความนั้นเป็นเท็จ! รับสายเป็นอินพุทประกอบด้วยสี่เหลี่ยม (ผ้าเช็ดตัว) ดังต่อไปนี้พับผ้าเช็ดตัวแต่ละครึ่งครึ่ง ตัวอย่างเช่น: +------+ +------+ +--+ | | | | | | | | | | | | | | -> +------+ -> +--+ | | | | | | +------+ โปรดสังเกตว่าเมื่อพับผ้าเช็ดตัวมันจะถูกพับขึ้นมาก่อนจากนั้นจากซ้ายไปขวา คุณโปรแกรมต้องเลียนแบบพฤติกรรมนี้เช่นกัน โปรดสังเกตว่าในกรณีทดสอบผ้าเช็ดตัวจะอยู่ในที่เดียวกัน แต่พับ กฎ: วิธีการมาตรฐานของอินพุต / เอาต์พุต ช่องโหว่มาตรฐานใช้ อินพุตและเอาต์พุตควรเป็นสตริง เอาท์พุทท้ายก็โอเคเอาท์พุทตราบใดที่ผ้าเช็ดตัวอยู่ในสถานที่ที่เหมาะสมเมื่อเทียบกับกันและกัน คุณอาจสมมติว่าความยาวของแต่ละด้านของผ้าเช็ดตัวจะหารด้วย 2 เสมอ ผ้าเช็ดตัวที่ผ่านเป็นอินพุตจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ ผ้าขนหนูจะถูกแยกออกเสมอ …

22
สร้างพีระมิดตัวอักษร
วันนี้เรากำลังจะสร้างพีระมิดจากตัวอักษร! นี่คือตัวอย่างพีระมิดสำหรับอักษร 5 ตัวแรก: เขียนตัวอักษร 5 ตัวแรกโดยมีช่องว่างคั่นระหว่างจากน้อยไปมากและจากมากไปน้อย A B C D E D C B A ทำสิ่งเดียวกันสำหรับตัวอักษรสี่ตัวแรกในบรรทัดด้านบน แต่มีช่องว่างนำหน้าสองช่อง: A B C D C B A A B C D E D C B A ทำซ้ำขั้นตอนเดียวกันจนกระทั่งบรรทัดสุดท้ายเป็นเพียง 'A' A A B A A B C B A A B C D C …

5
มีวัตถุแข็งหรือวัตถุนิ่ม ๆ หรือไม่
ได้รับแรงบันดาลใจจากการเปิดหนังสือ What-If อินพุตเป็นสี่เหลี่ยมผืนผ้าของช่องว่างในรูปของสตริงรายการของสตริง ฯลฯ โดยมีวัตถุที่ทำจาก#ภายใน: ######## # # ######## ### #### ### #### ### วัตถุจะไม่ตัดกันไม่สัมผัสสี่เหลี่ยม วัตถุนุ่มถูกกำหนดให้เป็นวัตถุที่ไม่ได้#อยู่ตรงกลางและเป็นเพียงเส้นขอบวัตถุแข็งคือวัตถุที่เต็มไป วัตถุที่มีความกว้างหรือความสูง<=2ถือว่ายาก วัตถุทั้งหมดมีความแข็งหรืออ่อน หากมีวัตถุแข็งมากขึ้นในการป้อนข้อมูลการส่งออก"Hard"ถ้ามากขึ้นนุ่มผลผลิต"Soft"ถ้าพวกเขามีค่าเท่ากัน, "Equal"เอาท์พุท นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! กรณีทดสอบ กรณีเหล่านี้ไม่ได้ป้อนข้อมูลเต็ม แต่ควรระบุว่าแต่ละวัตถุควรเป็นอย่างไร การป้อนข้อมูลจริงจะเป็นแบบ ascii-art ที่ด้านบนของคำถาม ยาก # #### ## ## ########## ########## ########## อ่อนนุ่ม ### # # ### ################### # # # # # # ################### …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

3
ข้อความบนวงกลม
เขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์สตริงอินพุตรอบ ๆ วงวงกลมที่มีรัศมีน้อยที่สุด ตัวอย่างเช่นสำหรับอินพุตThis is an exampleโปรแกรมของคุณควรมีเอาต์พุต: a si n s i e h x T a m p le การสร้างวงกลม คุณจะต้องใช้อัลกอริทึมวงกลมจุดกึ่งกลางในการคำนวณพิกัดของแต่ละจุดของวงกลมที่ไม่ต่อเนื่อง คุณสามารถหาตัวอย่างเกี่ยวกับวิธีใช้ขั้นตอนวิธีนี้ในหน้านี้วิกิพีเดีย นี่คือรหัสหลอกของอัลกอริทึม (ตามตัวอย่าง C ของ Wikipedia): integer x = radius integer y = 0 int decisionCriterion = 1 - x while y <= x point at coordinates (x,y) …

11
เพิ่มความแตกต่างยกกำลังสอง
พิจารณาการเปลี่ยนแปลงของค่าจำนวนเต็มจากไป1 Nเช่นตัวอย่างนี้สำหรับN = 4: [1, 3, 4, 2] เราจะถือว่ารายการนี้เป็นวงจรเช่นนั้น1และ2ได้รับการปฏิบัติเหมือนติดกัน ปริมาณหนึ่งที่เราสามารถคำนวณได้สำหรับรายการดังกล่าวคือผลต่างกำลังสองรวมของค่าที่อยู่ติดกัน: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 Nงานของคุณคือการหาการเปลี่ยนแปลงซึ่งจะเพิ่มปริมาณนี้ให้เป็นจำนวนเต็มบวก ในกรณีของN = 4ตัวอย่างข้างต้นจะไม่เหมาะสมที่สุด (อันที่จริงแล้วเป็นเพียงเล็กน้อย) เราสามารถบรรลุผลต่างกำลังสองรวม18กับการเปลี่ยนแปลงต่อไปนี้ (รวมถึงการเปลี่ยนแปลงอื่น ๆ ): [1, 4, 2, 3] อัลกอริทึมของคุณต้องทำงานในเวลาพหุนาม (จากN) โดยเฉพาะอย่างยิ่งคุณไม่สามารถคำนวณความแตกต่างยกกำลังสองทั้งหมดของพีชคณิตทั้งหมดได้ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ของฟังก์ชันและส่งผลลัพธ์ผ่าน STDOUT (หรือทางเลือกที่ใกล้เคียงที่สุด), ค่าส่งคืนของฟังก์ชันหรือพารามิเตอร์ ผลลัพธ์อาจอยู่ในรูปแบบรายการแบบแบนหรือแบบสตริงที่สะดวกใด ๆ คุณอาจเลือกที่จะกลับรายการที่มีค่าจาก0การN-1แทนไป1N ใช้กฎมาตรฐานของกอล์ฟ ทดสอบข้อมูล มีวิธีการวิเคราะห์ที่ดีสำหรับปัญหานี้ เช่นโซลูชันที่ถูกต้องทั้งหมดN …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

15
องค์ประกอบ Hypercube
เขียนฟังก์ชั่นหรือโปรแกรมที่ส่งออกจำนวนขององค์ประกอบแต่ละประเภท (จุดยอด, ขอบ, ใบหน้า, ฯลฯ ) ของ hypercube N-Dim ตัวอย่างเช่นลูกบาศก์ 3 มิติมี 1 เซลล์ (เช่น 1 ลูกบาศก์ 3 มิติ), 6 ใบหน้า (เช่น 6 2 มิติมิติ), 12 ขอบ (เช่น 12 มิติสองมิติ) และ 8 จุดยอด (เช่น 8 0 มิติ ลูกบาศก์). รายละเอียดเพิ่มเติมเกี่ยวกับองค์ประกอบ Hypercube สามารถดูได้ที่นี่ คุณสามารถดูลำดับ OEIS ต่อไปนี้ได้เช่นกัน อินพุต รหัสของคุณจะใช้เป็นอินพุต (ผ่าน STDIN หรือพารามิเตอร์ฟังก์ชันหรือสิ่งที่คล้ายกัน) จำนวนเต็มมากกว่าหรือเท่ากับ …

2
การพิจารณาการหมุนของสแควร์ให้รายการของคะแนน
ในการท้าทายนี้คุณจะได้รับรายการคะแนน จุดเหล่านี้อยู่ในปริมณฑลของตารางจินตนาการ เป้าหมายของคุณคือ: ถ้าเป็นไปได้ให้พิมพ์การหมุนของสแควร์ซึ่งจะเป็นค่าจาก [0, 90) โดยที่ 0 หมายถึงสแควร์ที่มีเส้นแนวตั้งและแนวนอน การหมุนจะถูกกำหนดเป็นองศานับทวนเข็มนาฬิกา หากการหมุนของจตุรัสไม่ชัดเจน (เช่นได้รับ 2 คะแนนเท่านั้น) ให้พิมพ์ "ไม่ทราบ" หากการสร้างตารางที่กำหนดจุดเป็นไปไม่ได้ให้พิมพ์ "Impossible" คะแนนที่คุณได้รับนั้นรับประกันว่าจะไม่ซ้ำกันและไม่ได้อยู่ในลำดับเฉพาะ คุณสามารถใช้รูปแบบใดก็ได้ที่คุณต้องการป้อนรายการ แต่สำหรับตัวอย่างของฉันคะแนนของฉันจะอยู่ในรูปแบบx,yและคั่นด้วยช่องว่าง ตัวเลขเหล่านี้เป็นตัวเลขทศนิยมและคุณสามารถสันนิษฐานได้ว่าอยู่ในช่วงที่ภาษาของคุณสามารถจัดการได้ ผลลัพธ์ของคุณควรมีความถูกต้องอย่างน้อย 3 ตำแหน่งทศนิยมและสมมติว่าภาษาของคุณจัดการกับตัวเลขทศนิยมด้วยความแม่นยำที่สมบูรณ์แบบ นี่คือกรณีทดสอบบางส่วน (ฉันใช้ประโยชน์จากตัวเลขเหล่านี้ทั้งหมดเพื่อให้แสดงภาพได้ง่าย แต่โปรแกรมของคุณควรจัดการกับคะแนนลอย): ไม่รู้จัก: 0,0 0,0 1,0 0,0 1,0 0,1 0,0 1,0 0,1 1,1 0,1 0,2 1,0 1,3 2,0 2,3 3,1 3,2 เป็นไปไม่ได้: 0,0 1,0 …

15
สุ่มกอล์ฟประจำวัน # 4: The Bertrand Paradox
เกี่ยวกับซีรี่ส์ ก่อนอื่นคุณอาจปฏิบัติเช่นนี้กับการแข่งขันกอล์ฟอื่น ๆ และตอบคำถามโดยไม่ต้องกังวลเกี่ยวกับซีรี่ส์เลย อย่างไรก็ตามมีลีดเดอร์บอร์ดสำหรับทุกความท้าทาย คุณสามารถค้นหาลีดเดอร์พร้อมกับข้อมูลบางอย่างเพิ่มเติมเกี่ยวกับซีรีส์ในโพสต์แรก แม้ว่าฉันจะมีไอเดียมากมายสำหรับชุด แต่ความท้าทายในอนาคตยังไม่เกิดขึ้น หากคุณมีข้อเสนอแนะใด ๆ โปรดแจ้งให้เราทราบเกี่ยวกับการโพสต์ Sandbox ที่เกี่ยวข้อง Hole 4: The Bertrand Paradox เบอร์ทรานด์ขัดแย้งเป็นปัญหาที่น่าสนใจซึ่งแสดงให้เห็นว่าวิธีการที่แตกต่างกันสำหรับการเลือกคอร์ดสุ่มในวงกลมสามารถให้ผลผลิตแตกต่างกันของการกระจายคอร์ดกึ่งกลางและความยาวของพวกเขา ในความท้าทายนี้คุณควรจะสร้างคอร์ดสุ่มของวงกลมหน่วยโดยใช้วิธี "ขวา" คือหนึ่งที่สร้างการกระจายของคอร์ดที่ไม่เปลี่ยนแปลงภายใต้การปรับและการแปล ในบทความ Wikipedia ที่เชื่อมโยง "วิธีที่ 2" เป็นวิธีการดังกล่าว นี่คือกฎที่แน่นอน: คุณควรใช้จำนวนเต็มบวกหนึ่งตัวNซึ่งระบุจำนวนคอร์ดที่ควรส่งคืน เอาต์พุตควรเป็นรายการของNคอร์ดแต่ละอันระบุเป็นสองจุดบนวงกลมหน่วยกำหนดโดยมุมขั้วของพวกเขาเป็นเรเดียน รหัสของคุณควรจะสามารถที่จะกลับมาอย่างน้อย 2 20ค่าที่แตกต่างกันสำหรับแต่ละสองมุม หาก RNG ที่มีของคุณมีช่วงที่มีขนาดเล็กคุณต้องแรกสร้าง RNG มีช่วงขนาดใหญ่พอที่ด้านบนของตัวเครื่องในหนึ่งหรือคุณต้องใช้ของคุณเองRNG เหมาะสม หน้านี้อาจมีประโยชน์สำหรับสิ่งนั้น การกระจายคอร์ดจะต้องแยกไม่ออกจากคอร์ดที่ผลิตโดย "วิธีที่ 2" ในบทความ Wikipedia ที่เชื่อมโยง หากคุณใช้อัลกอริทึมที่แตกต่างในการเลือกคอร์ดโปรดระบุหลักฐานความถูกต้อง ไม่ว่าอัลกอริทึมใดที่คุณเลือกที่จะใช้มันจะต้องสามารถสร้างคอร์ดที่ถูกต้องใด ๆ …

11
เอาท์พุทใบหน้าบนคิวบ์ที่ระบุหมายเลข
กำหนดตัวเลข 0 ถึง 7 ถึง 8 จุดยอดของลูกบาศก์ในแบบที่คุณต้องการ ต้องกำหนดหมายเลขหนึ่งให้กับแต่ละจุดสุดยอดอย่างแน่นอน ตัวอย่างเช่นจุดยอดของคุณอาจถูกกำหนดเช่นนี้: 3-----1 /| /| 4-----2 | | | | | | 5---|-0 |/ |/ 6-----7 เขียนโปรแกรมที่ใช้จำนวนเต็มตั้งแต่ 0 ถึง 5 แต่ละหมายเลข 6 ตัวเหล่านี้เชื่อมโยงกับคิวบ์หน้าเดียวของคุณในแบบที่คุณต้องการ เมื่อป้อนหนึ่งในตัวเลขเหล่านี้จะต้องพิมพ์ตัวเลขสี่จุดยอดของใบหน้าที่เกี่ยวข้องไปยัง stdout ในรูปแบบตัวเลข 2 × 2 ใบหน้าจะต้องถูกมองตรงจากนอกลูกบาศก์ การหมุนใบหน้าทั้ง 4 ใบหน้านั้นถูกต้อง ตัวอย่างเช่นถ้า 0 เกี่ยวข้องกับด้านหน้าของคิวบ์ตัวอย่างด้านบนนี่จะเป็นเอาต์พุตที่ถูกต้องสำหรับอินพุต0: 42 67 ใบหน้าอาจถูกมองด้วยการหมุน 90 °ดังนั้นสิ่งเหล่านี้จึงถูกต้อง: 27 46 …

13
เลเยอร์ Sierpinski
เริ่มต้นด้วย/\คุณสามารถสร้างสามเหลี่ยมเช่นเดียวกับรูปแบบSierpinskiโดยการเพิ่มบรรทัดด้านล่างที่ ... กิ่งก้านที่หลวม/หรือ\แยกอีกเป็นสองกิ่ง: /\. การชนกันของกิ่งไม้\/จะตายโดยไม่มีสิ่งใด (ยกเว้นที่ว่าง) ภายใต้กิ่งไม้ ทำซ้ำกฎเหล่านี้ให้ผล /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... ( แรงบันดาลใจจาก ViHart ) เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N และพิมพ์บรรทัด N แรกของรูปแบบนี้ไปยัง stdout โดยไม่มีช่องว่างนำหน้าหรือต่อท้ายเกินกว่าที่จำเป็น ตัวอย่างเช่นถ้าอินพุตเป็น1เอาต์พุตต้องเป็น /\ หากอินพุตเป็น2เอาต์พุตจะต้องเป็น /\ /\/\ หากอินพุตเป็น8เอาต์พุตจะต้องเป็น /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ และอื่น …

2
สี่แยกสามเหลี่ยมสองแห่ง
ป.ร. ให้ไว้ 4 จุดบน 2D เครื่องบินA, B, C, D, คำนวณพื้นที่ของภูมิภาคจุดตัดของรูปสามเหลี่ยมที่OABและOCDที่เป็นศูนย์กลางของเครื่องบินที่มีการประสานงานO(0, 0) อัลกอริทึมที่ทำงานในความซับซ้อนของเวลาคงที่ (ในแง่ของการดำเนินการทางคณิตศาสตร์) ได้รับการสนับสนุน แต่ไม่บังคับ กฎระเบียบ แต่ละจุดจะแสดงเป็นตัวเลขจริงสองค่าซึ่งหมายถึงพิกัด X และ Y อีกทางเลือกหนึ่งหากภาษาการเขียนโปรแกรมของคุณ (หรือบางไลบรารีของภาษาการเขียนโปรแกรมของคุณ) มีPointประเภทในตัวหรือเทียบเท่ามันได้รับอนุญาตให้นำPointวัตถุเป็นอินพุต อินพุตได้รับเป็น 4 คะแนนในรูปแบบรวมถึง แต่ไม่ จำกัด เฉพาะ: รายการพิกัด 8 รายการ รายการ 4 คะแนนแต่ละจุดสามารถแสดงในรูปแบบที่สะดวกใด ๆ สองรายการ 2 คะแนน เป็นต้น คุณไม่สามารถถือว่าการสั่งซื้อโดยเฉพาะอย่างยิ่งของจุด คุณไม่สามารถสันนิษฐานได้ว่าจุดOถูกส่งผ่านเป็นอินพุต กล่าวอีกนัยหนึ่งโปรแกรมจะต้องไม่ใช้และใช้การป้อนข้อมูลภายนอก คุณไม่สามารถสรุปได้ว่าคะแนนทั้งหมดนั้นแตกต่างกันหรือไม่ กล่าวอีกนัยหนึ่งสามเหลี่ยมอาจเสื่อมสภาพ คุณต้องจัดการกับกรณีนั้นด้วย (ดูกรณีทดสอบด้านล่าง) ความแตกต่างแบบสัมบูรณ์หรือสัมพัทธ์ต้องน้อยกว่าสำหรับกรณีทดสอบตัวอย่างด้านล่าง10-3 เกณฑ์การชนะ นี่คือcode-golfคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ! …

9
บรรทัดนี้ผ่านจัตุรัสนั้นหรือไม่?
แบ่งจตุภาคแรก (รวมถึงแกน x บวก, แกน y บวกและต้นกำเนิด) เป็น 1x1 กริดโดยแต่ละตารางจะมีป้ายกำกับโดยพิกัดของมุมซ้ายล่างดังแสดงด้านล่าง: โปรดทราบว่าแต่ละตารางมีขอบเขตและจุดยอด การใช้สัญลักษณ์ทางคณิตศาสตร์กริดที่มีป้ายกำกับ (m, n) จะเป็นตัวแทนของสแคว{(x,y) | m ≤ x ≤ m+1, n ≤ y ≤ n+1}ร์ กำหนดเส้นตรงในรูปแบบของax+by+c=0จำนวนเต็มa, bและ, และc, และแสดงโดยกริด(m,n), เอาท์พุทไม่ว่าจะเป็นเส้นผ่านตาราง, หรือไม่ว่าจุดใด ๆ ในตารางที่กำหนดอยู่บนบรรทัด. a b c m n output 1 1 0 0 0 true 1 1 0 1 …

8
นี่เป็นวัฏจักรรูปสี่เหลี่ยมหรือไม่?
ในวิชาคณิตศาสตร์รูปสี่เหลี่ยมขนมเปียกปูนเป็นวงกลมที่มีจุดยอดทั้งหมดอยู่ในวงกลมเดียวกัน กล่าวอีกนัยหนึ่งทุกจุดสุดยอดอยู่ในวงกลมของอีกสามคน สำหรับข้อมูลเพิ่มเติมโปรดดูบทความแม ธ เวิลด์ ตัวอย่าง quadrilaterals เหล่านี้เป็นวัฏจักร: สี่เหลี่ยมคางหมูนี้ไม่ได้เป็นรอบ (ภาพจาก Wikipedia) วัตถุประสงค์ ให้พิกัดของจุดยอดสี่จุดตามลำดับทวนเข็มนาฬิกาซึ่งเป็นรูปสี่เหลี่ยมนูนออกมาตรวจสอบว่ารูปสี่เหลี่ยมเป็นรูปวงกลมหรือไม่ พิกัดจะเป็นจำนวนเต็ม (หมายเหตุอย่างไรก็ตามพิกัด circumcenter และ circumradius นั้นไม่จำเป็นต้องเป็นจำนวนเต็ม) ตามที่กล่าวไว้ในวรรคก่อนหน้านี้ไม่มีสามจุดที่จะเป็นแบบเชิงเส้นร่วมและไม่มีความบังเอิญสองแบบ I / O คุณสามารถป้อนข้อมูลโดยใช้รูปแบบที่เหมาะสม โดยเฉพาะอย่างยิ่ง[[x1,x2,x3,x4],[y1,y2,y3,y4]], [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]และซับซ้อนจะมีการปรับตัวเลขทั้งหมด เอาต์พุตโดยใช้ค่าที่สอดคล้องกันใด ๆ สำหรับจริงและเท็จ กรณีทดสอบ จริง: [0,0], [314,0], [314,1], [0,1] [-5,5], [5,-5], [1337,42], [42,1337] [104, -233], [109, -232], [112, -231], [123, -224] เท็จ: [0,0], [314,0], …

9
การแบ่งตารางออกเป็นสามเหลี่ยม
เป้าหมาย เป้าหมายของความท้าทายนี้คือการสร้างฟังก์ชั่นnซึ่งคำนวณจำนวนวิธีในการแบ่งn X 1ตารางเป็นสามเหลี่ยมซึ่งจุดยอดทั้งหมดของสามเหลี่ยมอยู่บนจุดกริด ตัวอย่าง ตัวอย่างเช่นมี 14 วิธีในการแบ่งพาร์ติชันตาราง 2 x 1 ดังนั้นf(2) = 14ผ่านพาร์ติชันต่อไปนี้ โดยที่พาร์ติชันมี 2, 2, 2, 2, 2, 4 และ 2 ทิศทางที่แตกต่างกันตามลำดับ เกณฑ์การให้คะแนน นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ

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