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

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

8
Dennis, Doorknob, Martin Büttner, Chris Jester-Young - Pizzeria!
Programming ปริศนาและรหัสกอล์ฟเป็นเรื่องเกี่ยวกับการได้รับการดูแลใหม่ , เดนนิส ! ความท้าทายนี้เป็นส่วยให้เขาและการใช้งาน (หรือใช้งานเมื่อเร็ว ๆ นี้) ดูแลอื่น ๆ ของเรา: Doorknob , มาร์ตินBüttnerและคริสเจสเตอร์หนุ่ม ชื่อเรื่องท้าทายคือหมายถึงการอ่านการปรับแต่งของเพลง Pepto Bismol โดยทั่วไปเราจะปฏิบัติต่อพวกเขาทั้งหมดเพื่อพิซซ่าที่สิบเก้ากัด Pizzeriaแต่เราต้องทำให้แน่ใจว่าพวกเขาร่วมกันอย่างเป็นธรรมเพราะบางส่วนของวัยรุ่นจะรู้จักที่จะติดยาเสพติดพิซซ่า! พิซซ่าที่ขายโดยร้านพิชซ่านั้นเป็นบล็อกสี่เหลี่ยมทั้งหมดของข้อความ ความกว้างและความยาวของพิซซ่าอาจเป็นจำนวนเต็มไม่เป็นลบตราบใดที่ผลิตภัณฑ์ของพวกเขาหารด้วยสี่ ช่องว่างแต่ละช่องในบล็อกพิซซ่าข้อความแสดงถึงชิ้นดังนั้นจึงเป็นไปได้เสมอที่จะแบ่งส่วนย่อยออกเป็นสี่กลุ่มเท่า ๆ กัน วัยรุ่นรวมจะสั่งพิซซ่าเดียวให้กว้างและความยาวพารามิเตอร์ไปยังเซิร์ฟเวอร์ของพวกเขาในรูปแบบที่เหมาะสมใด ๆ [width],[length]เช่น ก่อนที่พิซซ่าจะมาถึงที่โต๊ะคุณต้องติดป้ายแต่ละชิ้นด้วยชื่อเริ่มต้นของตัวดัดแปลงที่จะกินเพื่อให้แน่ใจว่าพวกเขาทุกคนมีส่วนร่วมอย่างเป็นธรรม ทุกคนควรได้รับจำนวนชิ้นเท่ากัน E สำหรับเดนนิส D สำหรับ Doorknob M สำหรับมาร์ติน C สำหรับคริส ตัวดัดแปลงนั้นมีความมุ่งมั่นเพียงเล็กน้อยและต้องการให้ชิ้นส่วนของแต่ละชิ้นนั้นเชื่อมต่อกับเส้นทางนั่นคือชิ้นส่วนทั้งหมดของพวกเขานั้นสามารถเข้าถึงได้จากกันและกันโดยเลื่อนขึ้นลงซ้ายและขวาไม่ข้ามคนอื่น ชิ้น (และไม่เคลื่อนที่ในแนวทแยง) ไม่สนใจว่าคุณจะทำสิ่งนี้ตราบเท่าที่มันทำ เมื่อคุณติดป้ายกำกับแต่ละชิ้นอย่างแม่นยำแล้วให้ส่งพิซซ่าไปยังตัวดัดแปลงด้วยการขึ้นบรรทัดใหม่ที่เป็นตัวเลือก เครื่องเขียนฉลากของคุณอาจเป็นโปรแกรมหรือฟังก์ชั่นและสามารถพิมพ์หรือส่งคืนพิซซ่าที่มีข้อความ labeler ที่สั้นที่สุดในคำกัดชนะ ตัวอย่าง ตัวอย่างที่ 1 …

5
บล็อกฝูงอาคาร Bot!
การประกวดสิ้นสุดแล้ว! Intro นี่คือการโต้ตอบแบบกษัตริย์ของเขาประกวดซึ่งคอนโทรลเลอร์มีอยู่ใน Stack Snippet ที่ด้านล่างของคำถาม ตัวควบคุมจะอ่านคำตอบและเล่นผ่านเกมโดยอัตโนมัติ ทุกคนสามารถเรียกใช้ได้ทุกเมื่อในเบราว์เซอร์ กลศาสตร์ของการประกวดครั้งนี้มีความคล้ายคลึงกับสีแดงกับสีน้ำเงิน - Pixel ทีม BattleBots ยกเว้นเกมที่กำลังเล่นอยู่ในขณะที่ยังใช้กริดอยู่จะแตกต่างกันโดยสิ้นเชิง แต่ละเกมคือ 1 ต่อ 1 และไม่มีทีม แต่ละรายการจะต่อสู้เพื่อตัวเองและมีเพียงหนึ่งเดียวเท่านั้นที่จะเป็นผู้ชนะรอบชิงชนะเลิศ คอนโทรลเลอร์ใช้ JavaScript และ JavaScript เป็นภาษาสคริปต์ฝั่งไคลเอ็นต์เท่านั้นที่สนับสนุนเบราว์เซอร์ส่วนใหญ่คำตอบทั้งหมดจะต้องเขียนด้วย JavaScript เช่นกัน ในข้อมูลจำเพาะนี้ข้อความที่เป็นตัวเอียงใช้เพื่อระบุคำที่เป็นทางการสำหรับช่างเกมหรือทรัพย์สิน ข้อกำหนดเหล่านี้มีการใช้ตลอดเพื่อช่วยรักษาวิธีการอ้างอิงถึงส่วนต่าง ๆ ของเกมไว้อย่างเหนียวแน่นและชัดเจน เพลย์ ข้อมูลพื้นฐานเกี่ยวกับ คำตอบสำหรับคำถามนี้ทุกคนเป็นตัวแทนของผู้เล่น เกมการแข่งขันระหว่างผู้เล่นสองP1และP2 แต่ละควบคุมผู้เล่นฝูง 8 บอทหมายเลขตั้งแต่ 0 ถึง 7 เกมจะเกิดขึ้นในตาราง , 128 × 64 เซลล์ที่เกิดเหตุซึ่งอยู่ด้านล่าง 8 แถวเริ่มจากการเป็นผนัง (ที่บล็อก …

30
ตัวเลขนี้เป็นจำนวนเต็มกำลังของ -2 หรือไม่
มีวิธีการที่ชาญฉลาดในการพิจารณาว่าตัวเลขเป็นกำลัง 2 นั่นไม่ใช่ปัญหาที่น่าสนใจอีกต่อไปดังนั้นลองพิจารณาว่าจำนวนเต็มที่กำหนดเป็นกำลังจำนวนเต็ม-2หรือไม่ ตัวอย่างเช่น: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² กฎระเบียบ คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานใด ๆ ในการรับอินพุตและจัดเตรียมเอาต์พุต อินพุตของคุณเป็นจำนวนเต็มเดียวและเอาต์พุตต้องเป็นค่าจริงหากจำนวนเต็มเป็นกำลังของเลขจำนวนเต็ม -2 และค่าเท็จเป็นอย่างอื่น ไม่อนุญาตให้ใช้เอาต์พุตอื่น (เช่นข้อความเตือน) ใช้กฎโอเวอร์โฟลว์จำนวนเต็มตามปกติ: วิธีแก้ปัญหาของคุณจะต้องสามารถทำงานกับจำนวนเต็มขนาดใหญ่ตามอำเภอใจในภาษาของคุณ (หรืออาจจะเป็นจริง) ในรูปแบบสมมุติซึ่งจำนวนเต็มทั้งหมดถูก จำกัด โดยค่าเริ่มต้น แต่หากโปรแกรมของคุณล้มเหลวในทางปฏิบัติ ไม่รองรับจำนวนเต็มที่มีขนาดใหญ่ซึ่งไม่ได้ทำให้โซลูชันไม่ถูกต้อง คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น สภาพการชนะ นี่คือการประกวดcode-golf : …

30
Goodness Giza Golf!
"หมายเลข Giza" หรือที่รู้จักกันเรียกขานว่าTimmy Numberคือหมายเลขใด ๆ ที่ตัวเลขแสดงถึงปิรามิด ( A134810 ) ตัวอย่างเช่น "12321" เป็นหมายเลข giza เพราะสามารถมองเห็นเป็นดังนี้: 3 2 2 1 1 อย่างไรก็ตามบางอย่างเช่น "123321" ไม่ใช่หมายเลขกิซ่าเพราะมีสองหลักที่ด้านบนของปิรามิด 33 2 2 1 1 กล่าวอีกนัยหนึ่งตัวเลขคือหมายเลข Giza หากตรงตามเงื่อนไขต่อไปนี้ทั้งหมด: มีเลขคี่เป็นเลขหลักสำคัญและเลขกลางนั้นใหญ่ที่สุด มันเป็น Palindromic (อ่านไปข้างหน้าหรือข้างหลังเดียวกัน) และ ในช่วงครึ่งแรกของตัวเลขจะเพิ่มขึ้นอย่างเข้มงวดโดยหนึ่ง (เนื่องจากต้องเป็น palindromic นี่หมายความว่าครึ่งหลังของตัวเลขจะต้องลดลงอย่างเข้มงวดโดยหนึ่ง) คุณต้องเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวกเป็นอินพุตและตรวจสอบว่าเป็นหมายเลข Giza หรือไม่ คุณอาจรับอินพุตเป็นสตริงหรือเป็นตัวเลขก็ได้ หากเป็นหมายเลข Giza ให้ส่งออกค่าจริง มิฉะนั้นค่าเท็จ มีหมายเลขกิซ่าทั้งหมด 45 หมายเลขดังนั้นหนึ่งในอินพุตเหล่านี้ควรส่งผลให้เกิดค่าจริง: …

13
ปริมาณของกล่อง ASCII
บทนำ ในความท้าทายนี้คุณจะได้รับเป็นข้อมูลป้อนเข้าเป็นตัวแทน ASCII ของตาข่าย (พื้นผิวที่กางออก) ของสี่เหลี่ยมลูกบาศก์ (กล่อง 3D) รูปแบบคือ: ....+--+....... ....|##|....... ....|##|....... ....|##|....... +---+--+---+--+ |###|##|###|##| +---+--+---+--+ ....|##|....... ....|##|....... ....|##|....... ....+--+....... ใบหน้าของลูกบาศก์แต่ละหน้าเป็นรูปสี่เหลี่ยมผืนผ้า#ล้อมรอบด้วย+-|-characters ด้านนอกของตาข่ายเต็มไปด้วย.s ตาข่ายจะมีทิศทางเดียวกันเสมอ: มีใบหน้าตรงกลางล้อมรอบด้วยใบหน้าที่อยู่ใกล้เคียงสี่ใบหน้าและคู่หน้ากลางอยู่ที่เส้นขอบด้านขวาของอินพุต อินพุตนั้นถูกเติมด้วย.s ไปเป็นรูปสี่เหลี่ยมผืนผ้าและจะไม่มีแถวหรือคอลัมน์เพิ่มเติมของ.s งาน งานของคุณคือนำอินพุทไดอะแกรมดังกล่าวข้างต้นและคำนวณปริมาตรของลูกบาศก์ที่มันแทนซึ่งเป็นเพียงผลคูณของความสูงความกว้างและความลึก คุณสามารถรับอินพุตเป็นสตริงที่คั่นด้วยบรรทัดใหม่หรืออาร์เรย์ของสตริง ความยาวของแต่ละขอบคือระยะห่างระหว่าง+-characters ที่ปลายทั้งสอง ตัวอย่างเช่นขอบแนวนอน+--+มีความยาว 3 และขอบแนวตั้ง + | | | + มีความยาว 4 ความยาวต่ำสุดของขอบคือ 1 ตัวอย่างลูกบาศก์ข้างบนมีปริมาตร 2 * 3 * 4 = …

22
ตรวจสอบว่าจุดอยู่ภายในรูปสามเหลี่ยมหรือไม่
เป้าหมายของคุณคือการพิจารณาว่าจุด 2D ที่ได้รับอยู่ในพื้นที่ของสามเหลี่ยมที่มีจุดยอด A, B, C หรือไม่ เขียนฟังก์ชั่นที่ใช้ในพิกัดของจุดทดสอบ X และจุดยอดสามเหลี่ยมสามรูป (นั่นคือทั้งหมด 8 พิกัด) และส่งกลับค่าจริงถ้าจุดนั้นอยู่ภายในสามเหลี่ยมนั้นและเท็จถ้าอยู่นอก ไม่ต้องกังวลเกี่ยวกับกรณีขอบ หากจุดนั้นอยู่บนขอบเขตของสามเหลี่ยม (ขอบหรือจุดสุดยอด) หรือสามเหลี่ยมนั้นเป็นส่วนของเส้นตรงโค้ดของคุณสามารถทำอะไรก็ได้รวมถึงการกระแทก ยังไม่ต้องกังวลกับความเสถียรเชิงตัวเลขหรือความแม่นยำจุดลอยตัว รหัสของคุณจะต้องเป็นชื่อฟังก์ชั่น จะไม่ยอมรับข้อมูลโค้ด ตัวละครที่ชนะน้อยที่สุด การป้อนข้อมูล: แปดตัวเลขจริงที่แสดงถึงพิกัด (-1,1)ตัวเลขจะอยู่ในช่วง รูปแบบการป้อนข้อมูลที่แน่นอนมีความยืดหยุ่น ยกตัวอย่างเช่นคุณสามารถใช้ตัวเลขแปดตัวรายการแปดหลักรายการสี่จุดแต่ละจุดที่กำหนดโดย tuple เมทริกซ์ 2 * 4 จำนวนเชิงซ้อนสี่จำนวนสองรายการของพิกัด x และพิกัด y และอื่น ๆ อินพุตต้องเป็นตัวเลขในคอนเทนเนอร์บางตัวโดยไม่มีข้อมูลเพิ่มเติม คุณไม่สามารถใช้อินพุตเพื่อดำเนินการประมวลผลล่วงหน้าและคุณไม่จำเป็นต้องมีข้อ จำกัด ใด ๆ ในอินพุตเช่นต้องการให้มีการให้คะแนนในพิกัด y จากน้อยไปหามาก ข้อมูลที่คุณป้อนจะต้องอนุญาตให้ใช้พิกัดแปดพิกัดใด ๆ (แม้ว่ารหัสของคุณจะทำงานโดยพลการในกรณีขอบที่ระบุไว้ก่อนหน้านี้) โปรดระบุรูปแบบการป้อนข้อมูลของคุณ …

3
สร้างรูปห้าเหลี่ยมที่หลีกเลี่ยงการใช้เข็มทิศ
กฎระเบียบ คุณจะเริ่มต้นด้วยสององค์ประกอบเท่านั้น: คะแนนAAAและเช่นนั้นBBBA ≠ BA≠BA \neq BB จุดเหล่านี้ใช้ระนาบที่ไม่มีที่สิ้นสุดในทุกทิศทาง ในขั้นตอนใด ๆ ในกระบวนการคุณสามารถทำหนึ่งในสามขั้นตอนต่อไปนี้: ลากเส้นที่ผ่านจุดสองจุด วาดวงกลมที่มีศูนย์กลางที่จุดหนึ่งเพื่อให้อีกจุดหนึ่งอยู่บนวงกลม เพิ่มจุดใหม่ที่วัตถุสองรายการ (เส้นและวงกลม) ตัดกัน เป้าหมายของคุณคือการสร้าง 5 คะแนนเพื่อให้เกิดจุดยอดของรูปห้าเหลี่ยมปกติ (รูปหลายเหลี่ยมนูนที่มีความยาวเท่ากับ 5 ด้าน) โดยใช้วงกลมน้อยที่สุดเท่าที่จะทำได้ แน่นอนว่าคุณอาจมีคะแนนอื่น ๆ แต่ 5 คะแนนต้องมีรูปห้าเหลี่ยมปกติ คุณไม่จำเป็นต้องวาดขอบรูปห้าเหลี่ยมเพื่อให้คะแนน เกณฑ์การให้คะแนน เมื่อเปรียบเทียบคำตอบสองคำตอบสิ่งที่วาดวงกลมน้อยกว่าจะดีกว่า ในกรณีที่เสมอกันเป็นวงกลมคำตอบที่วาดเส้นที่น้อยที่สุดนั้นดีกว่า ในกรณีที่เสมอกันทั้งในวงกลมและเส้นคำตอบที่เพิ่มจุดที่น้อยที่สุดจะดีกว่า ต่อต้านกฎ แม้ว่ารายการกฎจะละเอียดถี่ถ้วนและรายละเอียดทุกอย่างที่คุณสามารถทำได้คือไม่เพียงเพราะฉันไม่ได้บอกว่าคุณไม่สามารถทำอะไรไม่ได้หมายความว่าคุณทำได้ คุณไม่สามารถสร้างวัตถุ "โดยพลการ" สิ่งปลูกสร้างบางอย่างที่คุณจะพบจะคิดว่าเพิ่มจุดที่ตำแหน่ง "โดยพลการ" และทำงานจากที่นั่น คุณไม่สามารถเพิ่มคะแนนใหม่ในสถานที่อื่นนอกเหนือจากทางแยก คุณไม่สามารถคัดลอกรัศมีได้ สิ่งปลูกสร้างบางอย่างจะเกี่ยวข้องกับการตั้งเข็มทิศให้เป็นรัศมีระหว่างจุดสองจุดแล้วหยิบมันขึ้นมาแล้ววาดวงกลมอื่น ๆ คุณทำสิ่งนี้ไม่ได้ คุณไม่สามารถทำการ จำกัด กระบวนการได้ สิ่งปลูกสร้างทั้งหมดจะต้องมีจำนวนขั้นตอนที่แน่นอน ไม่ดีพอที่จะเข้าหาคำตอบแบบไม่แสดงอาการ …

8
ฉันจะเลื่อนแยกชิ้นส่วนปริศนาออกได้หรือไม่
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เวลาในตารางสี่เหลี่ยมของข้อความที่มือถือของทุกคนเป็นอย่างใดอย่างหนึ่งหรือA เซลล์Bทั้งหมดAจะสร้างรูปร่างที่เชื่อมต่ออย่างง่ายๆนั่นคือเซลล์เหล่านั้นทั้งหมดจะเชื่อมต่อแบบ orthogonally โดยไม่มีรู ในทำนองเดียวกันBเซลล์ทั้งหมดจะสร้างรูปทรงอื่นที่เชื่อมต่อกัน ตารางจะมีอย่างน้อยหนึ่งAและอย่างน้อยหนึ่งBเสมอ ลองนึกภาพกริดนั้นจริง ๆ แล้วเป็นพลาสติกสองชิ้นที่มีรูปทรงบล็อกสองชิ้นแสดงโดยAและBบางส่วน หากวางราบบนโต๊ะทั้งสองชิ้นจะแยกออกจากกันในขณะที่วางทั้งสองไว้บนโต๊ะอย่างสมบูรณ์ได้หรือไม่ พิมพ์หรือส่งกลับtruthyค่าถ้าทั้งสองAและBรูปร่างอาจจะแยกออกจากกันเช่นนี้โดยเพียงแค่ดึงพวกเขาออกจากกัน ถ้าไม่พิมพ์หรือกลับfalsyค่า ตัวอย่างเช่นการป้อนข้อมูล AAA ABB AAA เป็นจริงเพราะBBส่วนสามารถเลื่อนไปทางขวาแยกออกจากA's: AAA A BB AAA อย่างไรก็ตามการป้อนข้อมูล AAAA ABBA ABAA เป็นเท็จเพราะไม่มีวิธีการเลื่อนAและBแยกส่วนโดยไม่ทับซ้อนกัน รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ หากต้องการคุณอาจจะใช้สอง Distict พิมพ์ ASCIIตัวละครในสถานที่และAB ตัวอย่างความจริง (คั่นด้วยบรรทัดว่าง) BBB BAA BBB BA A B AB AB AAA BBB AAAAB ABBBB ABBA ABBA AAAA AAAAAABBBBBBBBB AABBBBBBBBBBBBB …

3
แก้ลูกบาศก์ของรูบิค
เขียนโปรแกรมที่สั้นที่สุดที่แก้คิวบ์ของรูบิค (3 * 3 * 3) ภายในระยะเวลาที่เหมาะสมและเคลื่อนไหวได้ (พูดได้สูงสุด 5 วินาทีในเครื่องของคุณและน้อยกว่า 1,000 ครั้ง) อินพุตอยู่ในรูปแบบ: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (อินพุตเฉพาะนี้แสดงถึงคิวบ์ที่แก้ไขแล้ว) 12 สตริงอักขระ 2 ตัวแรกคือขอบในตำแหน่ง UF, UR, ... BL (U = ขึ้น, F = ด้านหน้า, R = …

5
P i = = 3. 2
แรงบันดาลใจจากวิดีโอชุด Infiniteนี้ บทนำ Pi หมายถึงอัตราส่วนของเส้นรอบวงกับเส้นผ่านศูนย์กลางของวงกลม แต่วงกลมถูกกำหนดอย่างไร? โดยปกติวงกลมจะถูกกำหนดให้เป็นจุดที่มีระยะทางคงที่ถึงจุดกึ่งกลาง (ให้เราสมมติว่าจุดศูนย์กลางอยู่ที่(0,0)) คำถามต่อไปคือ: เราจะกำหนดระยะทางได้อย่างไร ในเรื่องต่อไปนี้เรากำลังพิจารณาแนวคิดเกี่ยวกับระยะทางที่แตกต่างกัน (เกิดจากLp-norms): รับค่าปกติ (= บางอย่างที่วัดความยาว ) เราสามารถสร้างระยะทางได้อย่างง่ายดาย(= ระยะห่างระหว่างจุดสองจุด) ดังนี้: dist(A,B) := norm (A-B) บรรทัดฐานยูคลิดให้โดย: norm((x,y)) = (x^2 + y^2)^(1/2) นี้เรียกว่ายังL2 บรรทัดฐาน Lp-normsอื่น ๆถูกสร้างขึ้นโดยแทนที่2ในสูตรข้างต้นด้วยค่าอื่น ๆ ระหว่าง 1 ถึงอนันต์: norm_p((x,y)) = (|x|^p + |y|^p)^(1/p) วงกลมหน่วยสำหรับบรรทัดฐานที่ต่างกันเหล่านั้นมีรูปร่างที่ค่อนข้างแตกต่างกัน ท้าทาย รับp >= 1, คำนวณอัตราส่วนของเส้นรอบวงกับเส้นผ่านศูนย์กลางของLp-circleเทียบกับLp-norm ด้วยความแม่นยำของตัวเลขสี่ตัวที่สำคัญ Testcases …

30
อีกาเทียบกับแท๊กซี่
ลองนึกภาพการเดินทางไปยังจุดที่โกหกห่างออกไปในแนวนอนและBห่างออกไปในแนวตั้งจากตำแหน่งปัจจุบันของคุณ หรือพูดอีกอย่างคือเดินทางจากจุดหนึ่งไปยังอีกจุดหนึ่ง คุณต้องเดินทางไกลแค่ไหน? ดูเหมือนว่าเป็นคำถามที่ตรงไปตรงมา แต่คำตอบนั้นขึ้นอยู่กับคนที่คุณถาม หากคุณอีกาและคุณสามารถเดินทางเป็นอีกาบิน , ระยะทางที่เดินทางเป็นเพียงระยะทางยุคลิดไป นี่คือ(0, 0)(a, b)(a, b) sqrt(a^2 + b^2) แต่ถ้าคุณเป็นมนุษย์ที่น่าเบื่อคุณไม่อยากเดินไกลดังนั้นคุณต้องนั่งแท็กซี่ รถแท็กซี่ส่วนใหญ่จะไม่ขับเป็นเส้นตรงไปยังปลายทางของคุณเพราะโดยทั่วไปแล้วพวกเขาจะพยายามอยู่บนถนน ระยะทางที่แท้จริงที่คุณจะต้องเดินทางคือผลรวมของระยะทางแนวตั้งและระยะทางแนวนอน หรือสูตรคือ: abs(a) + abs(b) นี้เรียกว่ารถแท็กซี่ระยะทาง ภาพนี้แสดงให้เห็นถึงความแตกต่างอย่างชัดเจนระหว่างสอง: ในการเดินทางไป(6, 6)อีกาสามารถบินได้บนเส้นสีเขียวและนี่จะให้ระยะทาง6 * sqrt(2)หรือประมาณ 8.49 รถแท็กซี่สามารถใช้เส้นทางสีแดงสีน้ำเงินหรือสีเหลือง แต่พวกเขาทั้งหมดจะใช้เวลา 12 สิ่งนี้นำไปสู่คำถามจริงที่ฉันถาม หากอีกาและรถแท็กซี่ออกจากจุด(0, 0)และเดินทางไปยังจุด(a, b)ใดเส้นทางของรถแท็กซี่จะยาวเท่าไหร่? หรือในศัพท์แสงคณิตศาสตร์มากขึ้น ให้เวกเตอร์สองมิติกำหนดความแตกต่างระหว่าง norm2 ของเวกเตอร์กับ norm1 ของเวกเตอร์ คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดเพื่อตอบคำถามนี้ คุณอาจเลือกที่จะใช้ 'a' และ 'b' เป็นสองอินพุตแยกกันหรือเป็นสองรายการ tuple คุณสามารถนำเข้าและส่งออกในรูปแบบที่เหมาะสม …

19
การหมุนของ Chebyshev
พิจารณากริดปกติที่แต่ละเซลล์มีพิกัดจำนวนเต็ม เราสามารถจัดกลุ่มเซลล์ให้เป็น "วงแหวน" ที่มีรูปทรงสี่เหลี่ยมโดยที่เซลล์ในแต่ละวงแหวนมีระยะทาง Chebyshevเท่ากัน(หรือระยะทางกระดานหมากรุก) จากจุดกำเนิด งานของคุณคือการประสานงานเซลล์ดังกล่าวและหมุนเซลล์นั้นโดยตำแหน่งหนึ่งทวนเข็มนาฬิกาภายในแหวนของมัน ใช้การแมปต่อไปนี้: ดังนั้นสำหรับตัวอย่างเช่นถ้าใส่เป็นคุณควรเอาท์พุท(3, -2) (3, -1)โปรดทราบว่า(0, 0)เป็นอินพุตเดียวที่ควรจับคู่กับตัวเอง กฎระเบียบ รูปแบบ I / O นั้นค่อนข้างยืดหยุ่น คุณสามารถใช้ตัวเลขสองตัว, คู่ / รายการ / อาร์เรย์ / ทูเปิลของตัวเลข, จำนวนเชิงซ้อนเดียว, สตริงที่มีตัวเลขสองตัวเป็นต้น -128 < x,y < 128คุณอาจจะคิดว่า คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง - วัดเป็นไบต์ - ชนะ กรณีทดสอบ (0, 0) => (0, 0) (1, 0) …

14
กระดาษชำระลึกลับ
วันนี้คุณต้องแก้ปัญหาในทางปฏิบัติมาก: คุณต้องวนกี่แผ่นในม้วนกระดาษชำระของคุณ? ลองดูข้อเท็จจริงบางอย่าง: เส้นผ่าศูนย์กลางของกระบอกกระดาษชำระเปลือยคือ 3.8 ซม กระดาษชำระหนึ่งแผ่นมีความยาว 10 ซม. ความหนาของกระดาษชำระหนึ่งแผ่นคือ 1 มม. ก่อนที่คุณจะพันรอบกระบอกสูบครั้งแรกมันจะมีเส้นรอบวงเป็นซม. 3.8 * pi ทุกครั้งที่คุณห่อแผ่นหนึ่งรอบ ๆ กระบอกสูบรัศมีของมันจะเพิ่มขึ้นเป็น 0.1 ดังนั้นเส้นรอบวงของมันจะเพิ่มขึ้นโดย. 2 * PI ใช้ข้อมูลนี้เพื่อดูว่าต้องใช้กี่ลูปเพื่อใส่กระดาษชำระnแผ่น (หมายเหตุ: ใช้การประมาณของ Pi ที่อย่างน้อยก็แม่นยำเท่ากับ 3.14159) กรณีทดสอบ : n = 1 : 10 / (3.8 * pi) = .838 ลูป n = 2 : (เราสามารถสร้างลูปได้กี่ครั้ง) 1 …

18
มองเห็นทฤษฎีบทพีทาโกรัสด้วยสายตา
คำอธิบายภาพทั่วไปของทฤษฎีบทพีทาโกรัสเป็นเช่นนี้: สแควร์สนั้นหมายถึงการแสดงความยาวด้านของสี่เหลี่ยมจัตุรัสและพื้นที่ของa + b = cเช่นเดียวกับทฤษฎีบทพีทาโกรัสกล่าว ส่วนนี้เป็นสิ่งที่คุณต้องแสดง งานของคุณ คุณจะได้รับจำนวนเต็มสองจำนวนเป็นอินพุตหมายถึงการแสดงด้านข้างaและbของสามเหลี่ยมมุมฉาก (เช่น3, 4) จากนั้นคุณจะทำให้สี่เหลี่ยมออกจากความยาวa, bและcออกมาจาก#ตัวอักษร ตัวอย่างเช่นที่นี่คือ 3: ### ### ### จากนั้นคุณจะจัดรูปแบบเหล่านี้เป็นสมการทางคณิตศาสตร์ที่อธิบายทริปพีทาโกรัสโดยเฉพาะ: ##### #### ##### ### #### ##### ### #### ##### ### + #### = ##### สังเกตว่าสัญญาณ=และ+ช่องว่างมีทั้งสองด้านและทุกอย่างอยู่ด้านล่างอย่างไร คุณจะไม่ได้รับความคุ้มค่าaและbนั่นก็cไม่ใช่สิ่งสำคัญ นี่คือโค้ดกอล์ฟที่สั้นที่สุดในหน่วยไบต์ ! กรณีทดสอบ (มาอีกครั้งเมื่อฉันมีเวลาสิ่งเหล่านี้ยากมากที่จะทำด้วยมือ) 3, 4 ##### #### ##### ### #### ##### ### #### ##### …

30
ประเมินอัตราส่วนภาพของสามเหลี่ยม
กำหนดสามความยาวของรูปสามเหลี่ยมประเมินอัตราส่วนกว้างยาวของARตามสูตรดังนี้ ที่ไหน ยิ่งสามเหลี่ยมมุมฉากมีความสมดุลมากเท่าไหร่1อัตราส่วนที่ใกล้เคียงกับอัตราส่วนก็ยิ่งมากขึ้นเท่านั้น อัตราส่วนกว้างกว่าหรือเท่ากับ1สามเหลี่ยมที่ถูกต้อง ปัจจัยการผลิต อินพุตเป็นตัวเลขบวกสามตัวจริงซึ่งสามารถใส่ในรายการหรือสิ่งอื่นที่คล้ายกันได้ถ้าต้องการ โปรแกรมของคุณจะต้องส่งออกค่าเดียวกันโดยไม่คำนึงว่าลำดับความยาวของสัญญาณทั้งสามจะเป็นเท่าไร ทั้งสามตัวเลขจะเป็น sidelengths ที่ถูกต้องของรูปสามเหลี่ยม (สามเหลี่ยมเลวเช่นเดียวกับ sidelengths 1, 1และ2จะไม่ได้รับเป็น input) คุณไม่จำเป็นต้องกังวลเกี่ยวกับความไม่ถูกต้องของจุดลอยตัวเมื่อค่าใกล้เคียงกับสามเหลี่ยมที่เสื่อมสภาพมาก (เช่นเป็นที่ยอมรับได้ว่าโปรแกรมของคุณจะผิดพลาดdivision by 0ในการป้อนข้อมูล[1, 1, 1.9999999999999999]) อินพุตสามารถถูกกำหนดให้ผ่านSTDINเป็นอาร์กิวเมนต์ของฟังก์ชันหรืออะไรก็ได้ที่คล้ายกัน เอาท์พุท ผลลัพธ์เป็นจำนวนจริงที่มากกว่าหรือเท่ากับ1กับความแม่นยำมาตรฐานที่เป็นที่ยอมรับในภาษาของคุณ เอาต์พุตอาจถูกพิมพ์ไปยังSTDOUTส่งคืนจากฟังก์ชันหรือสิ่งอื่นที่คล้ายคลึงกัน กรณีทดสอบ Inputs Output 1 1 1 1 3 4 5 1.25 42 42 3.14 ≈ 6.9476 14 6 12 1.575 6 12 14 1.575 0.5 …

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