การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

30
ทำให้ฉันเป็นอีก!
ทำให้ฉันเป็นอีก ! ฉันบอกความกว้างจำนวนเกรแฮมแครกเกอร์ปริมาณช็อคโกแลตและปริมาณมาร์ชเมลโล่ ตัวอย่าง: การป้อนข้อมูล: ความกว้าง: 10 เกรแฮม: 3 ช็อคโกแลต: Marshmallow:2 1 เอาท์พุท: GGGGGGGGGG GGGGGGGGGG GGGGGGGGGG CCCCCCCCCC CCCCCCCCCC MMMMMMMMMM GGGGGGGGGG GGGGGGGGGG GGGGGGGGGG มันง่ายใช่ไหม อืมใช่ โปรดทราบว่าการป้อนข้อมูลควรเป็นรายการของการขัดแย้งกับฟังก์ชั่นหรือโปรแกรมไม่ใช่สตริง คุณอาจเลือกความกว้างก่อนจากนั้นก็เกรแฮม แต่คำสั่งใดก็ได้ กรณีทดสอบแบบเต็มหากคุณสนใจ ตัวอย่างสแต็ก (สำหรับการทดสอบ ฯลฯ ) นี่คือการทดสอบผลลัพธ์ var smore = function(width, graham, chocolate, marshmallow){ return ("G".repeat(width) + "\n").repeat(graham) + ("C".repeat(width) + "\n").repeat(chocolate) + ("M".repeat(width) …

8
ขอให้คุณเหนื่อยอ่อนคนจนฝูงอันโหยหาที่จะหายใจได้ฟรี
แผ่นป้ายสำริดในฐานของอนุสาวรีย์เทพีเสรีภาพแสดงบทกวี " The New ยักษ์ใหญ่ " โดยเอ็มม่าลาซารัสส่วนที่อ่าน: ให้ฉันเหนื่อยยากจนของ ฝูง huddled ของคุณโหยหาที่จะหายใจฟรี ปฏิเสธอนาถของฝั่งกำเนิดของคุณ ส่งคนจรจัดที่วุ่นวายให้ฉัน ฉันยกโคมไฟของฉันไปที่ประตูทอง! ในการทำให้บทกวีในส่วนนี้ง่ายขึ้นสำหรับความท้าทายนี้เราจะทำทุกอย่างให้เป็นตัวพิมพ์ใหญ่และแทนที่บรรทัดใหม่ด้วยเครื่องหมายทับ ( /) โดยใช้เครื่องหมายจุลภาคและเครื่องหมายวรรคตอนอื่น ๆ ดังนี้: GIVE ME YOUR TIRED, YOUR POOR,/YOUR HUDDLED MASSES YEARNING TO BREATHE FREE,/THE WRETCHED REFUSE OF YOUR TEEMING SHORE./SEND THESE, THE HOMELESS, TEMPEST-TOST TO ME,/I LIFT MY LAMP BESIDE THE GOLDEN …

30
การนับในไบนารี nybbles
ความท้าทายนี้คือการส่งออกไปยังอาคาร, หน้าต่าง, ผ้าใบหรือหน้าจอตัวเลขรวมถึง 10 แต่ละตัวเลขที่ส่งออกจะต้องแสดงเป็น nybble ที่มีความกว้าง 4 บิตดังนั้นศูนย์จะต้องแสดงเป็น0000เป็นต้น คุณสามารถแยกแต่ละหมายเลขที่ส่งออกด้วยช่องว่างเครื่องหมายจุลภาคหรือการขึ้นบรรทัดใหม่ ทางออกที่เล็กที่สุดชนะ แต่ตัวเลขสามารถแสดงในลำดับใดก็ได้ที่คุณต้องการตราบใดที่ไม่มีหมายเลขซ้ำในลำดับของคุณ รายการในภาษาไบนารีระดับต่ำไม่จำเป็นต้องกังวลเกี่ยวกับตัวคั่นช่องว่างหรือเครื่องหมายจุลภาคถ้ามันเป็นไปไม่ได้ที่จะส่งออกด้วยเครื่องหมายจุลภาคหรือช่องว่างสีขาว (เช่นเอาท์พุทมาตรฐานถูก จำกัด ไว้ที่ไบนารีเท่านั้นหรือโซลูชั่นของคุณ เช่นKIM-1ซึ่งมีจอแสดงผลดิจิตอล จำกัด )

9
จะมีหรือเป็นสี่เหลี่ยม!
ทุกคนเคยได้ยินคำว่า "อยู่ที่นั่นหรือเป็นสี่เหลี่ยม" ดังนั้นฉันคิดว่าถึงเวลาแล้วที่จะต้องมีการท้าทาย อินพุต คุณจะใช้ที่อยู่ไดเรกทอรีสัมบูรณ์เต็มรูปแบบเป็นข้อความเป็นอินพุตผ่าน STDIN หรือเทียบเท่า เอาท์พุต หากที่อยู่ไดเรกทอรีมีอยู่และถูกต้องโปรแกรมของคุณจะย้ายตัวเองไปยังโฟลเดอร์นั้นในคอมพิวเตอร์ของคุณ ถ้าไม่มันจะออกผ่านทาง STDOUT หรือเทียบเท่าตารางต่อไปนี้: +-+ | | +-+ ความต้องการ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต คุณสามารถส่งออกบรรทัดใหม่ต่อท้ายบรรทัดเดียวหากหลีกเลี่ยงไม่ได้ โปรแกรมของคุณต้องไม่สร้างเอาต์พุตถ้ามันถูกย้าย โปรแกรมของคุณจะต้องสามารถทำงานได้อีกทุกที่ที่ถูกย้ายไป สมมติฐาน คุณอาจคิดว่าอินพุตไม่เคยว่างเปล่า คุณอาจถือว่าไดเรกทอรีไม่มีชื่อไฟล์ต่อท้าย คุณอาจคิดว่าไดเรกทอรีข้อมูลเข้านั้นไม่เคยเป็นไดเรกทอรีปัจจุบัน คุณอาจถือว่าคุณมีสิทธิ์ในการเขียนและดำเนินการทุกที่ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ

6
นับตัวอักษร - ทีละนิด!
ส่วนที่เรียบง่าย:กำหนดสตริงอินพุตที่มีเฉพาะอักขระ ASCII ที่พิมพ์ได้ (ช่องว่าง - ตัวหนอน) นับจำนวนครั้งของอักขระแต่ละตัวและส่งคืนผลลัพธ์ในรูปแบบที่สะดวก ผลลัพธ์ของสตริงa%hda7aควรเป็นดังนี้: a:3, %:1, h:1, 7:1, d:1. การเรียงลำดับไม่จำเป็นตัวคั่นและรูปแบบเป็นตัวเลือก แต่ต้องเข้าใจง่ายว่าหมายเลขใดสอดคล้องกับอักขระตัวใด คุณจะต้องไม่รวมตัวละครที่ไม่ได้อยู่ในสายป้อน ( a:3, b:0, c:0, d:1, ...ไม่ตกลง) ความท้าทายที่แท้จริง: แปลงตัวละครทุกตัวในรหัสของคุณไปยังเลขฐานสอง 8 บิต (หรือ 16 บิตถ้าคุณกำลังใช้ UTF-16 หรือคล้ายกัน) 0และระบุตัวละครทุกตัวเริ่มต้นที่ ทุกตัวอักษร ( iเป็นแจงนับ) ที่i%7บิต1 ต้อง1เป็น บิตจะถูกกำหนดหมายเลขจากด้านขวา บิตอื่น ๆ ทั้งหมดสามารถเป็นอะไรก็ได้ที่คุณต้องการ ลองใช้รหัสต่อไปนี้เป็นตัวอย่าง: [f]-xif)#f การแปลงเป็นไบนารี่เราจะได้อาร์เรย์ด้านล่าง ตัวเลขแรก (แสดงถึง[มี1ตำแหน่ง 0'th ดังนั้นจึงเป็น OK หมายเลขที่สอง …

1
ทำโพลิกอน regex
เขียน regex ที่ทำงานในอย่างน้อย 2 รสชาติ regex (หรือเวอร์ชัน) และจับคู่สตริงที่แตกต่างกันในแต่ละรส (หรือรุ่น) ที่ทำงานอยู่ สตริงที่จะจับคู่ในการท้าทายนี้เป็นคำแรกของชื่อรหัส Ubuntu ซึ่งแสดงอยู่ด้านล่าง regex ของคุณต้องตรงกันจากด้านบนของรายการ นั่นคือถ้างานของคุณ regex 3 รสชาติก็มีการแข่งขันWarty HoaryและBreezyและคนอื่นไม่ได้ Warty Hoary Breezy Dapper Edgy Feisty Gutsy Hardy Intrepid Jaunty Karmic Lucid Maverick Natty Oneiric Precise Quantal Raring Saucy Trusty Utopic Vivid Wily Xenial Yakkety Zesty 17.10 18.04 18.10 19.04 …

1
พิมพ์บอร์ดขออภัย
ฉันเพิ่งเล่นเกมกระดานขออภัย! กับบางคนและฉันรู้ว่าฉันสามารถท้าทายความสนใจที่น่าสนใจบางอย่างได้ อันนี้ค่อนข้างเรียบง่าย คุณงานเป็นเพียงการออกASCII ศิลปะรุ่นของคณะกรรมการขอโทษวางชิ้นที่ผมบอกให้คุณ รายละเอียด อันดับแรกนี่คือภาพของขออภัยจริงๆ ! คณะกรรมการสำหรับการอ้างอิง: กระดานว่างเปล่าดูเหมือนว่า: # > - - o # # # # > - - - o # # # # S v o # H # # # # # | | # | | # S o | # # ^ …

2
แก้ปัญหาเขาวงกตน้ำแข็ง
Ice mazes เป็นหนึ่งในเกมหลักที่ฉันชอบในเกมโปเกมอนตั้งแต่เปิดตัวในPokémon Gold และ Silver งานของคุณคือการสร้างโปรแกรมที่แก้ปัญหาประเภทนี้ เขาวงกตน้ำแข็งส่วนใหญ่ประกอบด้วยน้ำแข็งตามชื่อของมัน เมื่อผู้เล่นเคลื่อนที่ไปในทิศทางบนน้ำแข็งพวกเขาจะยังคงเคลื่อนที่ไปในทิศทางนั้นจนกว่าพวกเขาจะชนกับสิ่งกีดขวาง นอกจากนี้ยังมีดินที่สามารถเคลื่อนที่ข้ามได้อย่างอิสระและจะหยุดผู้เล่นที่เคลื่อนที่ข้ามมัน อุปสรรคสุดท้ายคือหิน หินไม่สามารถครอบครองพื้นที่เดียวกับผู้เล่นและหากผู้เล่นพยายามที่จะย้ายเข้ามาพวกเขาจะหยุดเคลื่อนไหวก่อนที่พวกเขาสามารถ คุณจะได้รับคอนเทนเนอร์สองมิติของค่าเช่นรายการของรายการหรือสตริงที่คั่นด้วยการขึ้นบรรทัดใหม่มี 3 ค่าที่แตกต่างกันสำหรับการปูพื้นแต่ละประเภท 3 ประเภท (น้ำแข็งดินและหิน) นอกจากนี้คุณยังจะได้รับสองคู่ (หรือภาชนะมูลค่าสองค่าที่เทียบเท่ากัน) ซึ่งระบุการเริ่มต้นและการประสานงานเป้าหมายในเขาวงกต สิ่งเหล่านี้อาจเป็นศูนย์หรือหนึ่งดัชนี คุณต้องส่งออกรายการการเคลื่อนไหว (4 ค่าที่แตกต่างพร้อมกับการใส่ลงใน N, E, S, W) ที่จะทำให้ผู้เล่นมาถึงจุดสิ้นสุดเมื่อดำเนินการ ข้อมูลที่ป้อนจะมีเส้นรอบวงของหินที่ปิดอยู่รอบเขาวงกตดังนั้นคุณจึงไม่ต้องกังวลกับผู้เล่นที่ออกจากเขาวงกต นี่คือโค้ดกอล์ฟเพื่อที่ไบต์ที่น้อยที่สุดจะชนะ กรณีทดสอบ ที่นี่.จะแสดงถึงน้ำแข็ง~จะเป็นตัวแทนของดินและOจะเป็นตัวแทนของหิน พิกัดเป็น 1 ดัชนี ตัวอักษรแต่ละตัวในโซลูชันแสดงถึงทิศทางที่ขึ้นต้นด้วยตัวอักษรนั้น (เช่นN= North) อินพุต OOOOO OO.OO O...O OOOOO Start : 3,3 End : …

14
ฐานของคุณไปที่ 1-2-3-Tribonacci ไปยังไบนารีกลับไปที่ฐานของคุณ
พื้นหลัง ลำดับ 1-2-3-Tribonacci ลองจินตนาการถึงวินาทีที่คุณสามารถสร้างลำดับฟีโบนักชีโดยแทนที่สูตรการทำซ้ำมาตรฐานด้วยสิ่งต่อไปนี้: โดยพื้นฐานแล้วแทนที่จะรวมสองครั้งสุดท้ายเพื่อให้ได้คะแนนถัดไปคุณจะรวมสามครั้งสุดท้าย นี่เป็นพื้นฐานสำหรับลำดับ 1-2-3-Tribonacci เกณฑ์ของบราวน์ สถานะเกณฑ์ของ Brown ที่คุณอาจแทนค่าจำนวนเต็มใด ๆ เป็นผลรวมของสมาชิกของลำดับที่จัดทำโดย: สำหรับทั้งหมดที่nมากกว่า 1 สิ่งนี้มีความหมายสำหรับความท้าทาย คุณอาจอธิบายจำนวนเต็มบวกใด ๆ เป็นผลรวมของสมาชิกของลำดับ 1-2-3-Tribonacci ที่เกิดขึ้นตามเงื่อนไขเริ่มต้นต่อไปนี้: สิ่งนี้เรียกว่าสำหรับทุกค่าในลำดับนี้อัตราส่วนระหว่างเทอมจะไม่เกิน 2 (อัตราส่วนโดยเฉลี่ยอยู่ที่ประมาณ 1.839) วิธีเขียนในระบบการแสดงตัวเลข สมมติว่าคุณใช้การแทนค่าแบบเอนด์เอนเดียน จัดเรียงสมาชิกตามลำดับดังนี้: 1 2 3 6 11 20 37 68 จากนั้นคุณจะใช้หมายเลขของคุณที่จะเป็นตัวแทน (สำหรับการทดสอบของเราขอบอกว่ามันเป็น63) และหาค่าที่กำหนด 1-2-3-Tribonacci ซึ่งรวมไป 63 (ใช้ค่าที่ใหญ่ที่สุดครั้งแรก!) ถ้าจำนวนนั้นเป็นส่วนหนึ่งของผลรวมให้ใส่ 1 อันใต้ 0 ถ้าไม่ 1 2 …

11
การโกง Cyclic Quine
แนวคิด เขียนโปรแกรมที่ส่งออกรหัสในภาษาการเขียนโปรแกรม รหัสนั้นเมื่อดำเนินการจะต้องส่งออกโปรแกรมต้นฉบับ กฎระเบียบ เนื่องจากนี่เป็นควินโกงคุณสามารถอ่านซอร์สโค้ดต้นฉบับได้ โปรแกรมเอาต์พุตแรกต้องเป็นภาษาเดียวกับโปรแกรมดั้งเดิม คุณไม่สามารถส่งควินปกติได้ โปรแกรมทั้งสองจะต้องแตกต่างกัน ช่องโหว่มาตรฐานใช้ นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดชนะ แต่จะไม่ถูกเลือก
19 code-golf  quine 

7
เรียงตามตัวอักษรจำนวนเต็ม
เรียงตามตัวอักษรจำนวนเต็ม สำหรับชุดตัวเลขที่ระบุให้เรียงตามลำดับตัวอักษรเมื่อสะกดออกมา (เช่น 1: หนึ่ง, 2: สอง, 90: เก้าสิบ, 19: สิบเก้า) [-999999, 999999]รหัสของคุณควรจะทำงานสำหรับช่วง เอาต์พุตต้องมีตัวคั่นระหว่างตัวเลข พื้นที่จะใช้งานได้เช่นเดียวกับที่ว่างและเครื่องหมายจุลภาคดังที่แสดงในตัวอย่างด้านล่าง อินพุตอาจเป็นอาร์เรย์ของจำนวนเต็มสตริงของตัวเลขที่คั่นด้วยหรืออย่างไรก็ตามคุณเห็นว่าเหมาะสม จำนวนเต็มทั้งหมดจะถือว่าไม่ซ้ำกัน ตัวเลขจะไม่ใส่เครื่องหมายขีดคั่นสำหรับจุดประสงค์ของการท้าทายนี้และมีการเว้นวรรคตามตัวอักษรก่อนอักขระอื่นใด จำนวนลบจะถือว่าแสดงโดยใช้คำminusนั้น ยกตัวอย่างเช่นfourจะนำหน้าfour thousandและจำนวนจะถูกจัดเรียงโดยใช้สตริง-40 minus fortyสมมติว่าตัวเลขทั้งหมดจะประกอบด้วยคำจำนวน แต่เพียงผู้เดียวและไม่มีคำสันธาน (เช่นใช้two thousand forty twoแทนtwo thousand and forty two) กรณีทดสอบ จำนวนเต็มหลักเดียว: การป้อนข้อมูล: 1, 2, 3, 4, 5 เอาท์พุท: 5, 4, 1, 3, 2 จำนวนเต็มจำนวนเต็ม: การป้อนข้อมูล: -1002, 5, …

20
สรุปตัวเลข n คู่แรกของ Fibonacci
ดูเหมือนว่ายังไม่มีการแข่งขันสำหรับรายการนี้ งานง่าย เพิ่มnตัวเลขแรกของลำดับฟีโบนักชีที่เท่ากันและเอาท์พุทผลลัพธ์ นี้จะได้รับโดยOEIS A099919ยกเว้นลำดับที่ขยับตัวโดยหนึ่งเริ่มต้นด้วยแทนfib(1) = 0fib(1) = 1 นี่คือรหัสกอล์ฟ จำนวนไบต์ที่น้อยที่สุดชนะ ตัวอย่าง n sum 1 0 2 2 3 10 4 44 5 188 6 798 7 3382 8 14328 9 60696 ที่เกี่ยวข้อง

26
ค้นหาไฟล์ที่เล็กที่สุด
เป้าหมาย: สร้างโปรแกรมเพื่อค้นหาไฟล์ที่เล็กที่สุดในโฟลเดอร์ปัจจุบัน ขนาดไฟล์อาจถูกวัดเป็นไบต์หรือตัวอักษร หากหลายไฟล์มีขนาดเท่ากันคุณสามารถเลือกหนึ่งไฟล์หรือแสดงไฟล์ทั้งหมด คุณสามารถสมมติว่าจะมีไฟล์อย่างน้อยหนึ่งไฟล์ในโฟลเดอร์และไม่มีไฟล์ใดที่มีขนาดเท่ากับ 0 สมมติว่าไฟล์ทั้งหมดในโฟลเดอร์สามารถโหลดได้โดยภาษาที่คุณใช้ สมมติว่าไม่มีโฟลเดอร์ในไดเรกทอรีปัจจุบัน การป้อนข้อมูล: โปรแกรมไม่ควรรับข้อมูลใด ๆ จากผู้ใช้เว้นแต่: หากภาษาของคุณไม่มี "โฟลเดอร์ปัจจุบัน" อาจขอชื่อ / เส้นทางของผู้ใช้ หากภาษาของคุณไม่สามารถเข้าถึงไฟล์บนคอมพิวเตอร์ของคุณโดยตรงอาจอนุญาตให้ผู้ใช้อัปโหลดไฟล์ (เช่น JavaScript) เอาท์พุท: ควรแสดงชื่อไฟล์ที่เล็กที่สุด อนุญาตสัญลักษณ์นำหน้า / ต่อท้ายตราบใดที่ยังล้างไฟล์ที่เลือกไว้ (การพิมพ์รายชื่อไฟล์ทั้งหมดนั้นผิดกฎ) หมายเหตุ: ไม่อนุญาตช่องโหว่มาตรฐาน คุณไม่สามารถแก้ไข / สร้าง / ลบไฟล์ในโฟลเดอร์เพื่อเปลี่ยนผลลัพธ์ นี่คือรหัสกอล์ฟ ; คำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ

4
ดอกไม้แห่งชีวิตกอล์ฟ
ความท้าทายที่นี่คือการพรรณนาถึงดอกไม้แห่งชีวิตอย่างถูกต้อง (ซึ่งเป็นรูปทรงเรขาคณิตศักดิ์สิทธิ์ตามที่ระบุไว้) ในภาษาที่คุณเลือก การออกแบบประกอบด้วยการจัดเรียงของวงกลมและวงกลมบางส่วนของรัศมี 1 ตามที่แสดงซึ่งมีศูนย์จัดบนตารางสามเหลี่ยมของสนาม 1 รวมทั้งวงกลมรัศมีใหญ่ 3 รอบ การออกแบบสามารถปรับขนาดตามที่คุณต้องการ แต่อนุญาตให้มีข้อผิดพลาดสูงสุด 2% จากความถูกต้องทางคณิตศาสตร์ที่ได้รับอนุญาต หากใช้กราฟิกแรสเตอร์จะเป็นการ จำกัด เส้นผ่าศูนย์กลางของวงกลมขนาดเล็กให้มีอย่างน้อยประมาณ 100 พิกเซล เนื่องจากนี่คือ code-golf รหัสที่สั้นที่สุด (ไบต์) จะเป็นผู้ชนะ

7
พิมพ์เขียว sestina
sestinaเป็นรูปแบบของบทกวีที่เป็นไปตามรูปแบบที่น่าสนใจที่เราสามารถสร้าง มันมีหกบทหกบรรทัดแต่ละบรรทัดซึ่งคำสุดท้ายของแต่ละบรรทัดในบทแรกจะประกอบเป็นจุดสิ้นสุดบรรทัดในแต่ละบทต่อเนื่องซึ่งหมุนในรูปแบบชุด (นอกจากนี้ยังมีบทสามบรรทัดในตอนท้าย แต่เราไม่ต้องกังวลเกี่ยวกับเรื่องนี้) ดูบทสามบทแรกของ Elizabeth Bishop ที่ชื่อSestinaอย่างสร้างสรรค์: ฝนกันยายนตกบนบ้าน ในความล้มเหลวของแสงยายเก่า นั่งอยู่ในครัวพร้อมกับเด็ก ข้างเตามหัศจรรย์น้อย อ่านเรื่องตลกจากปูมการ หัวเราะและพูดคุยเพื่อซ่อนน้ำตาของเธอ เธอคิดว่าน้ำตา ที่เกี่ยวกับการนอนหลับของเธอและสายฝนที่เต้นอยู่บนหลังคาของบ้าน นั้นถูกปูมไว้ด้วยปูมทั้งสอง ข้าง กาต้มน้ำเหล็กร้องเพลงบนเตา เธอตัดขนมปังและพูดกับเด็กว่า ได้เวลาดื่มชาแล้ว แต่เด็ก กำลังดูน้ำตาเล็ก ๆ ของกาน้ำชา เต้นอย่างบ้าคลั่งบนเตาร้อนสีดำ วิธีที่ฝนจะต้องเต้นบนบ้าน เมื่อคุณยายแก่ชรานอน อยู่บนปูมอันชาญฉลาด ... โปรดสังเกตว่าแต่ละบรรทัดลงท้ายด้วยคำใดคำหนึ่งในหกคำว่า "บ้าน" "ยาย" "เด็ก" "เตา" "ปูมปูม" หรือ "น้ำตา" ไม่เพียงแค่นั้น แต่มีการจัดเรียงคำในรูปแบบ 6–1–5–2–4–3 เทียบกับบทก่อนหน้า มันดูเหมือนเป็นเกลียว: เรายังห่างจากการสร้างเซสทิน่าเต็มรูปแบบโดยทางโปรแกรม แต่เราสามารถสร้างเทมเพลตที่มีคำพูดสุดท้ายของแต่ละบทในลำดับที่เหมาะสม เขียนโปรแกรมหรือฟังก์ชั่นที่ให้คำลงท้ายด้วยคำหกบรรทัดออกผลลัพธ์พิมพ์เขียวสำหรับ sestina โดยปฏิบัติตามกฎเหล่านี้ นี่คือผลลัพธ์ที่คาดไว้สำหรับอินพุตhouse grandmother …

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