คำถามติดแท็ก code-challenge

ความท้าทายของรหัสคือการแข่งขันสำหรับวิธีสร้างสรรค์ในการแก้ปริศนาการเขียนโปรแกรมด้วยเกณฑ์การชนะอย่างมีเป้าหมายซึ่งไม่ครอบคลุมด้วยแท็กให้คะแนนอื่น ๆ (เช่นรหัส - กอล์ฟ)

1
สร้างตั๋วลอตเตอรีที่น้อยที่สุดเพื่อเล่นเพื่อให้มีหมายเลขที่ดีอย่างน้อย N ตัว
นี่เป็นวิชาคณิตศาสตร์ที่ค่อนข้างซับซ้อน แต่น่าสนใจมาก (รู้จักกันในชื่อ"การแก้ปัญหา" ) และฉันต้องการให้คุณช่วยนำไปใช้ ลองนึกภาพเกมลอตเตอรีที่แต่ละตั๋วต้องเลือก 5 ตัวเลขสุ่มในชุดของ 50 หมายเลข (จาก 1 ถึง 50) มันค่อนข้างง่ายที่จะทราบความน่าจะเป็นของตั๋วที่ชนะหรือความน่าจะเป็นที่จะมีตัวเลขที่ดี 1, 2, 3 หรือ 4 นอกจากนี้ยังค่อนข้างง่ายในการ "สร้าง" ตั๋วทั้งหมดที่มีหมายเลขที่ดี 1, 2, 3, 4 คำถามของฉัน (และการท้าทายรหัส) เกี่ยวข้องกับสิ่งนี้ แต่แตกต่างกันเล็กน้อย: ฉันต้องการซื้อตั๋วลอตเตอรี (น้อยที่สุดเท่าที่จะเป็นไปได้) เช่นอย่างน้อยหนึ่งตั๋วของฉันมี 3 หมายเลขที่ดี ท้าทาย เป้าหมายของคุณคือการใช้โซลูชันทั่วไป (เป็นโปรแกรมหรือเพียงฟังก์ชั่น) เช่นนี้ในภาษาใด ๆ : // Input: 3 prameters min_lottery_tickets(total_numbers_to_choose_from, how_many_numbers_to_choose, how_many_good_numbers_i_want) สำหรับตัวอย่างข้างต้นหนึ่งจะต้องโทร: …

6
แปลง 1 เป็นจำนวนเต็มบวกใด ๆ โดยใช้การดำเนินการ * 3 และ / 2 เท่านั้น
จำนวนเต็มบวกใด ๆ สามารถรับได้โดยเริ่มต้นด้วย1และการประยุกต์ใช้ลำดับของการดำเนินงานของแต่ละคนซึ่งเป็นทั้ง"คูณด้วย 3"หรือ"หารด้วย 2 ทิ้งเหลือใด ๆ" ตัวอย่าง (เขียน f สำหรับ * 3 และ g สำหรับ / 2): 4 = 1 *3 *3 /2 = 1 ffg 6 = 1 ffggf = 1 fffgg 21 = 1 fffgfgfgggf เขียนโปรแกรมด้วยพฤติกรรมดังต่อไปนี้: อินพุต : จำนวนเต็มบวกใด ๆ ผ่าน stdin หรือรหัสฮาร์ดโค้ด (ถ้าฮาร์ดโค้ดตัวเลขอินพุตจะถูกแยกออกจากความยาวของโปรแกรม) เอาต์พุต : สตริงของ …

1
สร้างตัวเลขโดยใช้รายการตัวเลขและตัวดำเนินการทางคณิตศาสตร์ที่ระบุ
คุณจะได้รับรายชื่อของตัวเลขL = [17, 5, 9, 17, 59, 14]ถุงประกอบและตัวเลขO = {+:7, -:3, *:5, /:1}N = 569 งาน เอาท์พุทสมการที่ใช้ตัวเลขทั้งหมดในLด้านซ้ายมือและเฉพาะตัวเลขNทางด้านขวามือ หากไม่สามารถทำได้ให้ส่งค่า False ตัวอย่างการแก้ปัญหา: 59*(17-5)-9*17+14 = 569 ข้อ จำกัด และการชี้แจง คุณไม่สามารถต่อหมายเลข ( [13,37]อาจใช้เป็น1337) Lเท่านั้นที่เป็นธรรมชาติและเป็นศูนย์จะปรากฏใน ลำดับในLไม่สำคัญ Lคุณต้องใช้ตัวเลขทั้งหมดใน เฉพาะผู้ประกอบการ+, -, *, จะปรากฏใน/O Oสามารถมีผู้ประกอบการมากกว่าที่คุณต้องการ แต่อย่างน้อย|L|-1ผู้ประกอบการ Oคุณอาจจะใช้ประกอบการแต่ละจำนวนครั้งใดขึ้นอยู่กับค่าใน การดำเนินการทั้งสี่ในOนั้นเป็นการดำเนินการทางคณิตศาสตร์มาตรฐาน โดยเฉพาะอย่างยิ่ง/คือการหารปกติที่มีเศษส่วนที่แน่นอน จุด คะแนนที่น้อยกว่าดีกว่า ตัวละครทุกรหัสของคุณให้คุณจุดหนึ่ง คุณต้องจัดเตรียมเวอร์ชันที่ไม่ตีกอล์ฟซึ่งอ่านง่าย พื้นหลัง คำถามที่คล้ายกันก็ถามว่าในกองมากเกิน ฉันคิดว่ามันอาจจะเป็นความท้าทายรหัส - กอล์ฟที่น่าสนใจ …

5
ปริศนาการเขียนโปรแกรมของ m3ph1st0s 3 (C):“ Easy bug” [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว นี่คือลำดับที่สามของซีรีส์ของฉันของปริศนา C / C ++; ในกรณีที่คุณพลาด 2 แรกอยู่ที่นี่: (1) ปริศนาการเขียนโปรแกรมของ m3ph1st0s 1 (C ++) (2) ปริศนาการเขียนโปรแกรมของ m3ph1st0s 2 (C ++): "Call hard!" ฉันต้องบอกว่าปริศนาของฉันเป็นของแท้ 100% ถ้าไม่ฉันจะพูดในข้อความเสมอ ตัวต่อที่ 3 ของฉันมี 2 ส่วนดังนี้ ปริศนา 3.1 ส่วนนี้ (3.1) ไม่ใช่ตัวต่อดั้งเดิมของฉันมันถูกรวบรวมจากหน้าอินเทอร์เน็ตบางส่วนที่ฉันได้อ่านเมื่อไม่นานมานี้ ฉันใช้ที่นี่เป็นจุดเริ่มต้นและอบอุ่นร่างกายของคุณ แก้ปัญหานี้แล้วย้ายไปยังส่วนที่ 2 บางคนพยายามพิมพ์เครื่องหมาย …

1
จำลองเครื่องลงทะเบียน Minsky (II)
นี้เป็นส่วนขยายของจำลองมินสกีลงทะเบียนเครื่อง (I) ฉันจะไม่ทำซ้ำคำอธิบายทั้งหมดที่นั่นดังนั้นโปรดอ่านคำอธิบายปัญหาก่อน ไวยากรณ์ในส่วน (I) นั้นเรียบง่ายที่สุดเท่าที่จะเป็นไปได้ แต่ให้ผลลัพธ์ในโปรแกรมที่ค่อนข้างยาว เนื่องจากนี่คือไซต์รหัสกอล์ฟเราควรมีไวยากรณ์กอล์ฟใช่มั้ย ในระดับสูงการเปลี่ยนแปลงจากไวยากรณ์ดั้งเดิมมีดังนี้: ฉลากในบรรทัดแรกเป็นตัวเลือก ช่องว่างเป็นทางเลือกยกเว้นในกรณีที่จำเป็นต้องแยกตัวระบุสองตัวที่ติดกัน รัฐสามารถ inlined เพื่อให้แน่ใจว่าการวิเคราะห์คำที่ไม่กำกวมไม่ชัดเจนหากสถานะแรกของการดำเนินการลดทอนเป็นสถานะอินไลน์มันจะต้องอยู่ในวงเล็บ ซึ่งหมายความว่าโปรแกรมใด ๆ ที่สามารถเล่นกอล์ฟเป็นแบบหนึ่งเส้นได้ ตัวอย่างเช่นในกรณีทดสอบต้นฉบับเรามี: b + = a, t = 0 init : t - init d0 d0 : a - d1 a0 d1 : b + d2 d2 : t + d0 a0 : t …

2
ถอดรหัสโดยการวิเคราะห์รูปแบบ
คุณได้รับสตริงเข้ารหัสเข้ารหัสโดยใช้รหัสแทนง่ายมาก ปัญหา คุณไม่ทราบว่าตัวเลขคืออะไร แต่คุณรู้ว่า ciphertext เป็นภาษาอังกฤษและตัวอักษรที่พบบ่อยที่สุดในภาษาอังกฤษคือetaoinshrdlucmfwypvbgkqjxzตามลำดับ อักขระที่อนุญาตเท่านั้นคือตัวอักษรตัวใหญ่และช่องว่าง คุณสามารถทำการวิเคราะห์ขั้นพื้นฐาน - เริ่มจากตัวอักษรเดี่ยว แต่คุณสามารถย้ายไปยังการวิเคราะห์หลายตัวอักษรที่ซับซ้อนมากขึ้นตัวอย่างเช่น U มักตามหลังคำถาม Q เสมอและมีเพียงบางตัวอักษรเท่านั้นที่สามารถมาได้สองครั้งติดต่อกัน ตัวอย่าง clear : SUBMARINE TO ATTACK THE DOVER WAREHOUSE AND PORT ON TUESDAY SUNRISE cipher: ZOQ DUPAEYSRYDSSDXVYSHEYNRBEUYLDUEHROZEYDANYKRUSYRAYSOEZNDMYZOAUPZE clear : THE QUICK BROWN FOX BEING QUITE FAST JUMPED OVER THE LAZY DOG QUITE NICELY cipher: TNAEPDHIGEMZQJLEVQBEMAHL …

5
การคำนวณ Topswops อย่างรวดเร็ว
จากAZSPCS : สมมติว่าคุณมีดาดฟ้าที่มีการ์ด n การ์ดแต่ละใบมีหมายเลขตั้งแต่ 1 ถึง n และแต่ละหมายเลขจะปรากฏบนการ์ดเดียว คุณดูที่หมายเลขบนการ์ดด้านบน - สมมุติว่ามันคือ k - แล้วเรียงลำดับของไพ่ k อันดับสูงสุดกลับกัน คุณทำขั้นตอนนี้ต่อไป - อ่านหมายเลขบนสุดแล้วย้อนกลับจำนวนบัตรที่เกี่ยวข้อง - จนกว่าการ์ดบนสุดคือ 1 เขียนโปรแกรมที่เร็วที่สุดเพื่อคำนวณจำนวนการพลิกกลับสำหรับเด็คที่กำหนด โปรดทราบว่าหากคุณเข้าร่วมการแข่งขันคุณจะไม่ได้รับอนุญาตให้โพสต์รหัสของคุณ (ดังนั้นฉันจะยังไม่โพสต์รหัสของฉัน)

14
Golfed + การคัดแยกที่รวดเร็วใน C
[ อัพเดทล่าสุด: โปรแกรมมาตรฐานและตัวต้านทานเบื้องต้นดูด้านล่าง] ดังนั้นฉันต้องการทดสอบการแลกเปลี่ยนความเร็ว / ความซับซ้อนด้วยแอปพลิเคชันแบบคลาสสิก: การเรียงลำดับ เขียนฟังก์ชัน ANSI C ที่เรียงลำดับอาร์เรย์ของจำนวนจุดลอยตัวตามลำดับที่เพิ่มขึ้น คุณไม่สามารถใช้ใด ๆห้องสมุดโทรระบบ multithreading หรือ ASM แบบอินไลน์ ผลงานตัดสินจากสององค์ประกอบ: ความยาวโค้ดและประสิทธิภาพ การให้คะแนนดังนี้: รายการจะถูกจัดเรียงตามความยาว (บันทึกของ #characters ที่ไม่มีช่องว่างเพื่อให้คุณสามารถจัดรูปแบบบางส่วน) และตามประสิทธิภาพ (บันทึกของ #seconds มากกว่าเกณฑ์มาตรฐาน) และแต่ละช่วงเวลา [ดีที่สุดเลวร้ายที่สุด] 0,1] คะแนนรวมของโปรแกรมจะเป็นค่าเฉลี่ยของคะแนนสองมาตรฐาน คะแนนต่ำสุดชนะ หนึ่งรายการต่อผู้ใช้ การเรียงลำดับจะต้องมี (ในที่สุด) อยู่ในสถานที่ (เช่นอาร์เรย์อินพุตจะต้องมีค่าเรียงในเวลากลับ) และคุณต้องใช้ลายเซ็นต่อไปนี้รวมถึงชื่อ: void sort(float* v, int n) { } ตัวอักษรที่จะถูกนับ: ตัวที่อยู่ในsortฟังก์ชั่นรวมลายเซ็นรวมถึงฟังก์ชั่นเพิ่มเติมที่เรียกได้ (แต่ไม่รวมถึงรหัสทดสอบ) โปรแกรมจะต้องจัดการกับค่าตัวเลขใด …

2
ค้นหารากที่ใหญ่ที่สุดของพหุนามด้วยเครือข่ายประสาท
ความท้าทาย ค้นหาเครือข่ายนิวรัล feedforward ที่เล็กที่สุดเช่นที่ให้เวกเตอร์อินพุต 3 มิติ(a,b,c)(a,b,c)(a,b,c)มีรายการจำนวนเต็มใน[−10,10][−10,10][-10,10]เครือข่ายเอาท์พุตรากที่ใหญ่ที่สุด (เช่น "บวกที่สุด") พหุนามx3+ax2+bx+cx3+ax2+bx+cx^3+ax^2+bx+cด้วยข้อผิดพลาดอย่างเคร่งครัดมีขนาดเล็กกว่า0.10.10.10.1 ภัณฑ์ แนวคิดเรื่องความสามารถในการยอมรับในความท้าทายการเล่นกอล์ฟสุทธิของประสาทก่อนหน้านี้ของฉันดูเหมือนจะมีข้อ จำกัด ดังนั้นสำหรับความท้าทายนี้เรากำลังใช้คำจำกัดความเสรีของเครือข่ายประสาท feedforward: เซลล์ประสาทเป็นฟังก์ชันν:Rn→Rν:Rn→R\nu\colon\mathbf{R}^n\to\mathbf{R}ที่ระบุไว้โดยเวกเตอร์w∈Rnw∈Rnw\in\mathbf{R}^{n}ของน้ำหนักเป็นอคติ b∈Rb∈Rb\in\mathbf{R}และฟังก์ชั่นการเปิดใช้งาน f:R→Rf:R→Rf\colon\mathbf{R}\to\mathbf{R}ในลักษณะต่อไปนี้: ν(x):=f(w⊤x+b),x∈Rn.ν(x):=f(w⊤x+b),x∈Rn. \nu(x) := f(w^\top x+b), \qquad x\in\mathbf{R}^n. เครือข่ายนิวรัลไปข้างหน้าพร้อมโหนดอินพุต {1,…,n}{1,…,n}\{1,\ldots,n\}เป็นฟังก์ชันของ(x1,…,xn)∈Rn(x1,…,xn)∈Rn(x_1,\ldots,x_n)\in\mathbf{R}^nที่สามารถสร้างขึ้นจากลำดับ(νk)Nk=n+1(νk)k=n+1N(\nu_k)_{k=n+1}^Nของเซลล์ประสาท โดยที่แต่ละνk:Rk−1→Rνk:Rk−1→R\nu_k\colon\mathbf{R}^{k-1}\to\mathbf{R}ใช้อินพุตจาก(x1,…,xk−1)(x1,…,xk−1)(x_1,\ldots,x_{k-1})และผลเกลาxkxkx_k k ได้รับบางส่วนที่ระบุชุดS⊆{1,…,N}S⊆{1,…,N}S\subseteq\{1,\ldots,N\}ของโหนดที่ส่งออกแล้วส่งออกของเครือข่ายประสาทเป็นเวกเตอร์(xk)k∈S(xk)k∈S(x_k)_{k\in S} S เนื่องจากสามารถเปิดใช้งานฟังก์ชั่นการเปิดใช้งานสำหรับงานที่กำหนดเราจำเป็นต้อง จำกัด คลาสของฟังก์ชั่นการเปิดใช้งานเพื่อให้ความท้าทายนี้น่าสนใจ อนุญาตให้ใช้งานฟังก์ชั่นต่อไปนี้: เอกลักษณ์ f(t)=tf(t)=tf(t)=t Relu f(t)=max(t,0)f(t)=max⁡(t,0)f(t)=\operatorname{max}(t,0) SoftPlus f(t)=ln(et+1)f(t)=ln⁡(et+1)f(t)=\ln(e^t+1) sigmoid f(t)=etet+1f(t)=etet+1f(t)=\frac{e^t}{e^t+1} sinusoid f(t)=sintf(t)=sin⁡tf(t)=\sin t โดยรวมแล้วโครงข่ายประสาทที่ยอมรับได้นั้นถูกระบุโดยโหนดอินพุตลำดับของเซลล์ประสาทและโหนดเอาต์พุตในขณะที่แต่ละเซลล์ประสาทถูกระบุโดยเวกเตอร์ของน้ำหนักอคติและฟังก์ชั่นการเปิดใช้งานจากรายการด้านบน ตัวอย่างเช่นตาข่ายประสาทต่อไปนี้สามารถใช้ได้แม้ว่าจะไม่เป็นไปตามเป้าหมายประสิทธิภาพของการท้าทายนี้: โหนดอินพุต: {1,2}{1,2}\{1,2\} …

1
ภาพแสดงตัวเอง [ปิด]
ปิด คำถามนี้ต้องการรายละเอียดหรือความคมชัด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ เพิ่มรายละเอียดและชี้แจงปัญหาโดยแก้ไขโพสต์นี้ ปิดให้บริการในวันที่ 11 เดือนที่ผ่านมา พื้นหลัง มี.ZIPไฟล์ที่แตกไฟล์เอง โดยทั่วไปแล้วพวกเขาจะมีนามสกุล.EXE(และโดยการเรียกใช้ไฟล์พวกเขาจะถูกแตกออก) แต่เมื่อเปลี่ยนชื่อเป็น.ZIPคุณสามารถเปิดไฟล์ด้วยซอฟต์แวร์ ZIP แตก (สิ่งนี้เป็นไปได้เนื่องจาก.EXEไฟล์ต้องการส่วนหัวที่แน่นอน แต่.ZIPไฟล์ต้องการส่วนท้ายที่แน่นอนดังนั้นจึงเป็นไปได้ที่จะสร้างไฟล์ที่ทั้งสองมี.EXEส่วนหัวและส่วน.ZIPท้าย) งานของคุณ: สร้างโปรแกรมที่สร้างไฟล์ภาพ "แสดงตนเอง": โปรแกรมจะถ่ายภาพ 64x64 บางภาพ (สนับสนุนอย่างน้อย 4 สี) เป็นอินพุตและไฟล์ "รวม" เป็นเอาต์พุต ไฟล์ที่ส่งออกของโปรแกรมจะได้รับการยอมรับว่าเป็นไฟล์ภาพโดยโปรแกรมดูรูปภาพทั่วไป เมื่อเปิดไฟล์ที่ส่งออกด้วยโปรแกรมดูภาพภาพอินพุตจะปรากฏขึ้น ไฟล์ที่ส่งออกจะต้องได้รับการยอมรับว่าเป็นไฟล์ที่ปฏิบัติการได้สำหรับระบบปฏิบัติการหรือคอมพิวเตอร์ทุกประเภท (หากไฟล์สำหรับระบบปฏิบัติการผิดปกติหรือคอมพิวเตอร์ถูกสร้างขึ้นมันจะดีถ้ามีตัวจำลองพีซีโอเพนซอร์สอยู่อย่างไรก็ตามไม่จำเป็นต้องทำเช่นนี้) เมื่อเรียกใช้งานไฟล์เอาต์พุตภาพอินพุตจะแสดงขึ้น เป็นไปได้ว่าจำเป็นต้องเปลี่ยนชื่อไฟล์ (เช่นจาก.PNGเป็น.COM) ไม่จำเป็นว่าโปรแกรมและไฟล์เอาต์พุตจะทำงานบนระบบปฏิบัติการเดียวกัน ตัวอย่างเช่นโปรแกรมอาจเป็นโปรแกรม Windows และไฟล์เอาต์พุตที่สามารถเรียกใช้งานบน Commodore C64 เกณฑ์การชนะ โปรแกรมที่สร้างไฟล์เอาต์พุตที่เล็กที่สุดชนะ หากขนาดของไฟล์เอาต์พุตแตกต่างกันไปขึ้นอยู่กับอิมเมจอินพุต (ตัวอย่างเช่นเนื่องจากโปรแกรมบีบอัดอิมเมจ) ไฟล์เอาต์พุตที่ใหญ่ที่สุดที่เป็นไปได้ที่สร้างโดยโปรแกรมที่แสดงอิมเมจ 64x64 ที่มีจำนวนสูงสุด 4 สี …

2
สร้างช่องสัญญาณ RGB ที่หายไปใหม่
ดูภาพถ่ายธรรมชาติเหล่านี้ด้วยหนึ่งในช่อง RGB ที่นำออกมาจากพวกเขา: แหล่งที่มา (มีสีแดง): https://en.wikipedia.org/wiki/File:Altja_j%C3%B5gi_Lahemaal.jpg แหล่งที่มา (พร้อมสีเขียว): https://commons.wikimedia.org/wiki/File:2007_mather-lake_hg.jpg แหล่งที่มา (มีสีน้ำเงิน): https://commons.wikimedia.org/wiki/File:Fox_01.jpg แม้ว่าจะไม่มีช่องใดช่องหนึ่งคุณก็สามารถสร้างสีสันที่แน่นอนว่าควรจะเป็นสีอะไรหรืออย่างน้อยก็มีความคิดที่ดีถ้าการสร้างช่องสัญญาณที่หายไปนั้นมีความแม่นยำ ตัวอย่างเช่นนี่คือภาพแรกที่มีช่องสีแดงเพิ่มเข้ามาซึ่งเป็นเพียงสัญญาณรบกวนแบบสุ่ม: ภาพนี้ชัดเจนไม่ใช่การสร้างช่องสีแดงใหม่อย่างแม่นยำ นี่เป็นเพราะภาพถ่ายธรรมชาติไม่ได้ใช้สเปกตรัม RGB ทั้งหมด แต่เป็นเพียงชุดย่อยของ "สีที่ดูเป็นธรรมชาติ" นอกจากนี้เฉดสีแดงจะเป็นไปตามการไล่ระดับสีบางอย่างที่สัมพันธ์กับสีอื่น ๆ งานของคุณคือการสร้างโปรแกรมที่จะถ่ายภาพที่มีช่องหนึ่งออกและพยายามประมาณภาพต้นฉบับให้ใกล้เคียงที่สุดโดยสร้างสิ่งที่เชื่อว่าเป็นช่องที่หายไป โปรแกรมของคุณจะได้คะแนนว่าช่องที่ขาดหายไปนั้นตรงกับช่องของภาพต้นฉบับมากน้อยเพียงใดโดยการนับเปอร์เซ็นต์ของพิกเซลที่มีค่าของช่องนั้นภายใน± 15 (รวม) ของมูลค่าจริงในภาพต้นฉบับ (โดยที่ค่านั้น ช่วงจาก 0 ถึง 255 ในช่องสีมาตรฐาน 8 บิต) กรณีทดสอบที่โปรแกรมของคุณจะได้รับสามารถดูได้ที่นี่ (ไฟล์ซิป 9.04 MB, 6 ภาพ) ขณะนี้มันมีเพียงภาพสามภาพด้านบนและต้นฉบับของพวกเขา แต่ฉันจะเพิ่มอีกไม่กี่นาทีเพื่อสร้างชุดเต็มเมื่อฉันทำเสร็จแล้ว ภาพแต่ละภาพจะถูกลดขนาดลงและถูกตัดเหลือ 1024 x 768 ดังนั้นภาพเหล่านั้นจะมีน้ำหนักเท่ากันในคะแนนของคุณ โปรแกรมที่สามารถทำนายจำนวนพิกเซลมากที่สุดภายในความอดทนที่กำหนด

8
กรองไฟล์ขนาดใหญ่อย่างรวดเร็ว
ความท้าทายคือการกรองไฟล์ขนาดใหญ่อย่างรวดเร็ว อินพุต: แต่ละบรรทัดมีช่องว่างจำนวนเต็มบวกจำนวนสามช่องว่าง เอาท์พุท: เส้นที่นำเข้าทั้งหมดA B, Tที่ตอบสนองอย่างใดอย่างหนึ่งของเกณฑ์ดังต่อไปนี้ มีอยู่สายป้อนข้อมูลอื่นC, D, Uที่และD = A0 <= T - U < 100 มีอยู่สายป้อนข้อมูลอื่นC, D, Uที่และB = C0 <= U - T < 100 ในการสร้างไฟล์ทดสอบให้ใช้สคริปต์ python ต่อไปนี้ซึ่งจะใช้สำหรับการทดสอบ มันจะสร้างไฟล์ 1.3G แน่นอนคุณสามารถลด nolines สำหรับการทดสอบ import random nolines = 50000000 # 50 million for i in xrange(nolines): print …

22
ลบสระโดยไม่ใช้อักขระที่แตกต่างกันมากเกินไป
ความท้าทายคือการลบเสียงสระ (a, e, i, o, u) ออกจากสตริงจาก STDIN (ใช่ฉันรู้ง่าย) คุณสามารถคาดหวังว่าโปรแกรมที่คุณจะไม่ได้วิ่งไปกับข้อโต้แย้งใด ๆ argvใน ตัวอย่าง: This program will remove VOWELS. So we can now speak without them. เปลี่ยนเป็น: Ths prgrm wll rmv VWLS. S w cn nw spk wtht thm. มีการจับ รายการที่ชนะจะตัดสินจากจำนวนไบต์ที่แตกต่างกัน ตัวอย่างเช่นa abมีสามไบต์ที่แตกต่างกัน ( a, bและพื้นที่) หากมีอย่างน้อยสองรายการที่จะมีจำนวนของไบต์ที่แตกต่างกันนี้จะใช้ทางเลือกแทนจำนวนไบต์สำหรับรายการเหล่านั้น

1
Tatamibari แก้ปัญหา
พื้นหลัง Tatamibariเป็นปริศนาตรรกะที่ออกแบบโดย Nikoli ปริศนา Tatamibari +เล่นบนตารางสี่เหลี่ยมที่มีสามชนิดที่แตกต่างกันของสัญลักษณ์ในมัน-, |และ ตัวแก้ปัญหาต้องแบ่งพาร์ติชันของกริดออกเป็นพื้นที่สี่เหลี่ยมหรือสี่เหลี่ยมตามกฎต่อไปนี้ ทุกพาร์ติชันจะต้องมีสัญลักษณ์หนึ่งตัวอยู่ในนั้น +สัญลักษณ์จะต้องมีอยู่ในตาราง |สัญลักษณ์จะต้องอยู่ในรูปสี่เหลี่ยมผืนผ้าที่มีความสูงมากกว่าความกว้าง -สัญลักษณ์จะต้องอยู่ในรูปสี่เหลี่ยมผืนผ้าที่มีความกว้างมากกว่าความสูง สี่ชิ้นอาจไม่เคยแบ่งปันมุมเดียวกัน (นี่คือวิธีการวางกระเบื้องทาทามิญี่ปุ่นโดยปกติ) ต่อไปนี้เป็นตัวอย่างปริศนาที่มีวิธีแก้ไข: งาน แก้ปริศนา Tatamibari ที่ให้มา อินพุตและเอาต์พุต อินพุตเป็นตาราง 2D ที่แสดงถึงตัวต่อ Tatamibari puzzle เซลล์แต่ละคนมีหนึ่งในสี่ตัวอักษร: +, -, |, และตัวอักษรที่คุณเลือกที่จะเป็นตัวแทนเซลล์ที่ไม่ได้เบาะแส ในกรณีทดสอบ*จะใช้เครื่องหมายดอกจัน คุณสามารถเลือกรูปแบบผลลัพธ์ที่เหมาะสมซึ่งสามารถแสดงวิธีแก้ปัญหาที่ถูกต้องกับปริศนา Tatamibari ซึ่งรวมถึง แต่ไม่ จำกัด เฉพาะ: (หากมีข้อสงสัยให้ถามในความคิดเห็น) รายการของ 4-tuples โดยที่แต่ละ tuple จะมีดัชนีด้านบน, ดัชนีด้านซ้าย, ความกว้างและความสูงของสี่เหลี่ยมผืนผ้า (หรือการแสดงที่เทียบเท่ากัน) กริดตัวเลขที่มีรูปร่างเดียวกันกับอินพุตโดยที่แต่ละหมายเลขจะแทนสี่เหลี่ยมผืนผ้า รายการชุดพิกัดที่แต่ละชุดมีพิกัดทั้งหมดของเซลล์ในสี่เหลี่ยมผืนผ้า หากตัวต่อมีหลายทางคุณสามารถส่งออกจำนวนที่ถูกต้อง (หนึ่งหรือมากกว่า) …

15
Transformers in Disguise (ด้ายตำรวจ)
เธรดของโจรอยู่ที่นี่ งานตำรวจคือการเขียนฟังก์ชั่นหรือโปรแกรมที่เมื่อได้รับการป้อนข้อมูลของตัวเองเอาท์พุทสตริงกำหนดที่แน่นอน หากโปรแกรมได้รับอินพุตที่แตกต่างกันก็ควรส่งกลับผลลัพธ์ที่แตกต่างกัน กฎ: ส่งประกอบด้วย ชื่อภาษา หากมีการใช้ธงใด ๆ พวกเขาควรจะเปิดเผย จำนวนไบต์ของโปรแกรม จำนวนไบต์ของเอาต์พุต เอาท์พุต หากมีความยาวเป็นพิเศษโปรดระบุ pastebin หรือสิ่งที่คล้ายกัน ถ้ามันมี unprintables โปรดระบุ hexdump การขึ้นบรรทัดใหม่และช่องว่างต่อท้ายควรรวมอยู่ในผลลัพธ์ ตำแหน่งที่อินพุตมาจาก (STDIN, บรรทัดคำสั่งฯลฯ ) หากเหมาะสมคุณอาจสันนิษฐานว่าไบต์ที่แทน EOF ไม่มีอยู่ในอินพุตนอกจากว่าคุณใช้ไบต์นั้นในโปรแกรมของคุณ หากโปรแกรมของคุณแตกให้เพิ่มลิงก์ไปยังคำตอบที่เกี่ยวข้องในเธรดของโจรในหัวข้อของคุณ โปรแกรมของคุณไม่ปลอดภัยจนกว่าจะผ่านไปหนึ่งสัปดาห์และคุณทำเครื่องหมายไว้ ฉันไม่ยอมรับเทคนิคต่าง ๆ เช่นการสุ่มเลือกด้วยฟังก์ชันอินพุตหรือการเข้ารหัสลับ ฉันไม่สามารถหยุดพวกเขา แต่ฉันจะไม่ยอมรับวิธีการแก้ปัญหาที่ใช้อย่างใดอย่างหนึ่งของเหล่านี้ นอกจากนี้โปรดทราบว่าเทคนิคเหล่านี้บางอย่างอาจมีการชนกันโดยที่สตริงที่แตกต่างกันจะสร้างเอาต์พุตเดียวกัน เป้าหมายของคุณคือให้ได้ผลลัพธ์ที่สั้นที่สุด ทางออกที่ปลอดภัยที่สั้นที่สุดที่โพสต์ภายในสามสัปดาห์นับจากวันที่โพสต์คำถามนี้ชนะ! งานของโจรคือการหาโปรแกรมที่มีขนาดเท่ากับหรือน้อยกว่าต้นฉบับซึ่งเป็นไปตามกฎข้างต้น หากโจรปล้นโปรแกรมของคุณด้วยโซลูชันที่แตกต่างจากที่ตั้งใจไว้คุณมีโอกาสที่จะ 'แกะ' โดยการพิสูจน์ว่าโซลูชันของโจรนั้นไม่ถูกต้อง คุณสามารถทำได้โดยค้นหาอินพุตไปยังโปรแกรมของ robber ที่จะสร้างเอาต์พุตเดียวกัน ส่งตัวอย่าง: brainfuck, 10 ไบต์, คะแนน: 10 …

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