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

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

1
ค้นหา Leapers
ฉันเพิ่งได้กระดานหมากรุกที่แปลกประหลาดจริงๆ มันเป็นสี่เหลี่ยมจัตุรัสอยู่ทั่วทุกที่และไม่แม้แต่จะเชื่อมต่อกันทั้งหมด อย่างน้อยพวกมันก็ยังคงวางบนตารางปกติ ฉันต้องการปรับกฎหมากรุกเพื่อให้สามารถเล่นบนกระดาน แต่เริ่มต้นด้วยฉันต้องมีชิ้นส่วนที่สามารถไปได้ทุกที่บนกระดานและดูเหมือนว่า leaper เป็นทางออกที่ดีที่สุดของฉัน Leapersเป็นนางฟ้าหมากรุกทั่วไปของอัศวิน Leapers ถูกกำหนดค่าโดยสองจำนวนเต็มmและnและสามารถย้ายmกำลังสองในทิศทางเดียวและอีกnกำลังสองในทิศทางตั้งฉากทั้งสอง สำหรับอัศวินมาตรฐานเรามี(m, n) = (2, 1) การเคลื่อนไหวทั้งหมดถือเป็นการกระโดดครั้งเดียวโดยที่ไม่มีช่องสี่เหลี่ยมระหว่างทางไปยังเป้าหมายต้องว่างเปล่าหรือมีอยู่จริง ความท้าทาย คุณได้รับ "กระดานหมากรุก" ในรูปแบบของรายการจำนวนเต็ม 2D เชิงบวกซึ่งเป็นตัวแทนของกำลังสองที่เป็นส่วนหนึ่งของกระดาน งานของคุณคือการหา leaper ที่ได้รับเพียงพอย้ายสามารถเข้าถึงตารางใด ๆ บนกระดาน ลองดูตัวอย่าง กระดานหมากรุกมาตรฐานใช้ตารางปกติของสี่เหลี่ยม 8x8 (โปรดทราบว่าเราไม่แยกความแตกต่างระหว่างสี่เหลี่ยมสีขาวและสีดำสำหรับความท้าทายนี้): ######## ######## ######## ######## ######## ######## ######## ######## อัศวินมาตรฐานสามารถเข้าถึงได้ทั้งหมดดังนั้น(2, 1)จะเป็นผลลัพธ์ที่ถูกต้อง อย่างไรก็ตาม(1, 1)ตัวอย่างเช่นจะไม่ถูกต้องเนื่องจากชิ้นส่วนดังกล่าวสามารถเข้าถึงครึ่งหนึ่งของสี่เหลี่ยมไม่ว่าจะเริ่มต้นที่ใด (1, 0)ในทางกลับกันก็จะเป็นเอาท์พุทที่ถูกต้องเนื่องจากสี่เหลี่ยมทั้งหมดมีการเชื่อมต่อแบบ orthogonally ตอนนี้ถ้าเรามีบอร์ดที่ผิดปกติเช่น: # # # …

20
คำนวณฮิสโตแกรมการประมาณค่าเอนโทรปีของสตริง
เขียนโปรแกรมหรือฟังก์ชั่นที่ประมาณค่าเอนโทรปีของแชนนอนของสตริงที่กำหนด ถ้าสตริงมีnตัวอักษรวันที่ แตกต่างกันตัวอักษรx ฉันเป็นฉัน TH ตัวละครที่แตกต่างกันและP (x ฉัน )ความน่าจะเป็นของที่เกิดขึ้นตัวละครในสตริงแล้วประมาณการเอนโทรปีของเราแชนนอนสำหรับสตริงที่จะได้รับโดย: สำหรับการประมาณค่าในการท้าทายนี้เราคาดว่าความน่าจะเป็นของตัวละครที่เกิดขึ้นในสตริงนั้นคือจำนวนครั้งที่มันเกิดขึ้นหารด้วยจำนวนตัวอักษรทั้งหมด คำตอบของคุณจะต้องถูกต้องอย่างน้อย 3 หลักหลังจากระยะเวลา กรณีทดสอบ: "This is a test.", 45.094 "00001111", 8.000 "cwmfjordbankglyphsvextquiz", 122.211 " ", 0.0

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
เล่นตลกอาวุโส PPCG
เรากำลังจะสำเร็จการศึกษาในเว็บไซต์เต็มรูปแบบในเร็ว ๆ นี้และมีสิ่งเดียวที่ต้องทำก่อนจบการศึกษา: ดึงความคึกคะนองอาวุโส! ฉันคิดว่าเราควรจะทำในรูปแบบคลาสสิก "เติมห้องโถงด้วยถ้วยน้ำ" ปิดปาก ท้าทาย โปรแกรมของคุณจะอ่านในข้อความและส่งออกข้อความที่ครอบคลุมในถ้วยน้ำคว่ำ มีถ้วยน้ำคว่ำลงดังนี้: /~\ ถ้วยเหล่านี้สามารถวางได้ในช่องว่างในช่องใส่เท่านั้นและสามารถวางเพื่อให้ตัวละครทั้งสามของถ้วยอยู่เหนือตัวละครที่ไม่ใช่ช่องว่างโดยตรง (มิฉะนั้นน้ำจะหก ออก!). ถ้วยไม่สามารถวางซ้อนกันบนถ้วยอื่น ต้องวางถ้วยในทุกช่องที่เปิดอยู่และจะถือว่าทุกอินพุตถูกล้อมรอบด้วยช่องว่างที่ไม่มีที่สิ้นสุดของช่องว่าง คุณอาจคิดว่าอินพุตนั้นถูกเสริมให้เป็นสี่เหลี่ยมที่มีช่องว่าง เราจำเป็นต้องดึงความคึกคะนองออกอย่างรวดเร็วและไม่มีใครสังเกตดังนั้นจำนวนไบต์ที่น้อยที่สุดในแต่ละภาษาจึงชนะ กรณีทดสอบ การป้อนข้อมูล: ____________________________________________ / ___ / ___ / ______/ ________/ / /__/ / /__/ / / / /_______ / _______/ _______/ / / //__ / / / / / / /_____/ /___/ …

19
มาสร้างบันไดกัน
เรามีความท้าทายอย่างง่ายไม่เพียงพอ (กึ่ง -) สำหรับผู้เริ่มต้น คนง่าย ๆ เพิ่มมากขึ้นเรื่อย ๆ ดังนั้นฉันจึงพยายามหาบางสิ่งที่อาจเป็นไปได้สำหรับผู้เริ่มต้น แต่ก็ไม่ซ้ำกัน การป้อนข้อมูล: สตริงเดี่ยวคั่นด้วยบรรทัดใหม่ของระบบปฏิบัติการ (เช่น\r\n) หรืออาร์เรย์ที่มีหลายสตริง เอาท์พุท - บันได : ลบสัญลักษณ์ที่ไม่ใช่ตัวอักษรและไม่ใช่ตัวเลขทั้งหมด [A-Za-z0-9]ดังนั้นสิ่งที่เหลือคือ จากนั้น 'สร้างบันได'; โดยทั่วไปแล้วให้เรียงตามความยาวโดยมีขนาดเล็กที่สุดที่ด้านบนและกว้างที่สุดที่ด้านล่าง กฏท้าทาย: เมื่อทั้งสองสายมีความยาวเท่ากันเราจะรวมกันเป็นสตริงขนาดใหญ่หนึ่ง (ลำดับไม่สำคัญดังนั้นอาจเป็นจากลำดับแรกไปครั้งสุดท้ายหรือครั้งสุดท้ายไปครั้งแรกแล้วแต่จำนวนใดก็ได้ที่คุณต้องการ) กฎด้านบนสามารถสแต็กเมื่อสตริงที่ผสานมีความยาวเท่ากันอีกครั้ง (ดูกรณีทดสอบ 2) กฎทั่วไป: อินพุตเป็น STDIN และมีอักขระ ASCII เท่านั้น และผลลัพธ์คือ STDOUT กรณีของการส่งออกจะต้องเหมือนกันกับการป้อนข้อมูล การส่งแต่ละครั้งจะต้องเป็นโปรแกรมเต็มรูปแบบที่สามารถรวบรวมและเรียกใช้ดังนั้นไม่ใช่เพียงวิธี / ฟังก์ชั่น แก้ไข: ฉันค่อนข้างใหม่ดังนั้นบางทีมันอาจจะดีกว่าที่จะใช้ค่าเริ่มต้นนับจากนี้ไปแม้ว่าฉันจะชอบโปรแกรมเต็มรูปแบบด้วยตัวเอง ขออภัยสำหรับทุกคนที่โพสต์โปรแกรมเต็มแล้ว รู้สึกอิสระที่จะแก้ไขและฉันจะพยายามไม่เปลี่ยนโพสต์กลาง - ท้าทายในครั้งต่อไป นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ฉันอาจยอมรับคำตอบที่สั้นที่สุดในหนึ่งปีนับจากนี้ อย่าปล่อยให้คำตอบของ …

27
จดหมาย E กับ E
งานของคุณคือการแสดงตัวอักษร ASCII ด้านล่างตัวอักษร "E" ตามที่กำหนดจากอินพุตห้าตัว ตัวอย่าง: อินพุต: 7,2,+,|,-(หมายเหตุ: คุณไม่ต้องทำตามรูปแบบการป้อนข้อมูลที่แน่นอนนี้และหากคุณไม่ได้ใช้งานคุณจะต้องอธิบายว่ารูปแบบการป้อนข้อมูลของคุณทำงานอย่างไร) คำอธิบาย: 7 ความกว้างทั้งหมดรวมถึงอักขระขอบซ้ายและขวา 2 จำนวนอักขระแนวตั้ง + อักขระที่ควรแสดงที่ขอบ | อักขระที่ควรแสดงในแนวตั้งระหว่างขอบ - อักขระที่ควรแสดงในแนวนอน ผลลัพธ์ของตัวอย่างข้างต้น: +-----+ | | +-----+ | | +-----+ ตัวอย่างอื่น ๆ : การป้อนข้อมูล: 7,2,@,|,- เอาท์พุท: @-----@ | | @-----@ | | @-----@ การป้อนข้อมูล: 7,2,+,|,# เอาท์พุท: +#####+ | | +#####+ | | …

6
เกมแห่งชีวิตที่มั่นคง
ท้าทาย: ให้เมทริกซ์ (หรืออาร์เรย์ 2d) เป็น 0s และ 1s ส่งออกจำนวนขั้นตอนที่ใช้สำหรับเกมชีวิตของคอนเวย์เพื่อให้ถึงสถานะที่มั่นคงหรือ -1 ถ้ามันไม่ถึงหนึ่ง สถานะคงที่คือสถานะที่ไม่มีการเปิดหรือปิดเซลล์ในแต่ละขั้นตอน เกมจะต้องทำงานในเมทริกซ์ที่กำหนดโดยมีการเชื่อมต่อด้านบนและด้านล่างและการเชื่อมต่อด้านข้าง (เช่นได้รับเมทริกซ์ 4x3 ที่ควรรันบน 4x3 torus) เมทริกซ์อินพุตจะไม่ใหญ่กว่า 15x15 หมายเหตุ: ถ้าเมทริกซ์เริ่มต้นในสถานะเสถียรเอาต์พุตควรเป็น 0 ตัวอย่าง: การป้อนข้อมูล: [[0,0,0], [0,1,1], [0,1,0]] เอาท์พุท: 2 กระบวนการ: (ไม่จำเป็นต้องแสดง) [[0,0,0], [0,1,1], [0,1,0]] [[1,1,1], [1,1,1], [1,1,1]] [[0,0,0], [0,0,0], [0,0,0]] การป้อนข้อมูล: [[0,0,1,1], [0,1,1,1], [0,1,0,0], [0,1,1,1]] เอาท์พุท: 2 กระบวนการ: [[0,0,1,1], …

3
ลำดับตัวอักษรฮังการี
สำหรับผู้ที่ต้องการความท้าทายมากขึ้นจากนั้นตามลำดับตัวอักษรภาษาสเปนเก่าลองมาดูกันว่าตัวอักษรฮังการีได้รับคำสั่งอย่างไร a, á, b, c, cs, d, dz, dzs, e, é, f, g, gy, h, i, í, j, k, l, ly, m, n, ny, o, ó, ö, ő, p, q, r, s, sz, t, ty, u, ú, ü, ü, v, w, x, y, z, zs จริงq, w, xและyไม่ได้ใช้ในคำฮังการี แต่พวกเขาจะรวมคำยืมและชื่อต่างประเทศ อักขระที่เน้นเสียงต่างประเทศซึ่งไม่ได้เป็นส่วนหนึ่งของตัวอักษรฮังการี …

7
Hilbert-Curvify เมทริกซ์
แรงบันดาลใจจากคำถามนี้ อีกวิธีในการคลายภาพ 2D ลงในสาย 1D คือใช้Hilbert Curve โค้งนี้มีหลายรุ่นขึ้นอยู่กับจำนวนการวนซ้ำที่ใช้ในขณะคำนวณ ด้านล่างติดตามตัวอย่างของ Hilbert Curves จากลำดับแรกถึงลำดับที่ห้า วิธีการคำนวณเส้นโค้งนี้มีดังต่อไปนี้ อันดับแรกเรากำหนดคำสั่งแรกของ Hilbert Curve ตามที่แสดงในรูป (อันสำหรับ n = 1) เพื่อให้มันพอดีกับสี่เหลี่ยม 1x1 เรากว่าทำโค้งสี่ชุดนี้ให้เว้นระยะห่างในจตุรัส 4x4 เพื่อให้พวกเขาทั้งหมดนำเสนอ "เว้า" ทางด้านซ้าย จากนั้นเราพลิกทั้งสองซ้ายสุดเพื่อ 1 โค้งเพื่อให้หนึ่งเว้าด้านบนหันไปทางด้านบนในขณะที่ด้านล่างหันด้านล่าง ในที่สุดเราก็เชื่อมมุมของ Hilbert Curves ที่อยู่ติดกัน หากต้องการรับเส้นโค้ง (n + 1) เพื่อเราจะต้องทำซ้ำขั้นตอนด้วยเส้นโค้ง n-order สี่เส้น เราสามารถเห็นการสร้างภาพของกระบวนการที่นี่ (ฉันจะเพิ่มภาพรายละเอียดกระบวนการในไม่ช้า) งานของคุณในการท้าทายนี้คือการคลี่เมทริกซ์ของจำนวนเต็มตามลำดับต่ำสุดของ Hilbert Curveสำหรับเมทริกซ์นั้น เพื่อความง่ายเราจะมีเส้นโค้งที่เริ่มต้นจากมุมซ้ายบนของเมทริกซ์ คุณสามารถรับอินพุตเป็นรายการของจำนวนเต็มโดยที่แต่ละรายการย่อยจะแสดงแถวของเมทริกซ์ คุณสามารถสันนิษฐานได้ว่าอินพุตจะเป็นเมทริกซ์จตุรัส …

2
เขียนตัวนับ Chat Chat
งานของคุณคือการเขียนโปรแกรมที่ให้รายชื่อข้อความแชทนับจำนวนครั้งที่แต่ละคนได้รับการ ping ดังนั้นฉันสามารถรู้ได้ว่าทุกคนโด่งดังแค่ไหน แต่เนื่องจากฉันต้องทำมันอย่างลับๆล่อๆฉันต้องการให้มันเล็กที่สุดเท่าที่จะเป็นไปได้เพื่อที่ฉันจะสามารถซ่อนรหัสได้ รายละเอียด การป้อนข้อมูลที่มาในรายการของ 2 tuples ("username", "message")กับแต่ละรายการเป็นของแบบฟอร์ม การ ping ไปยังผู้ใช้รายอื่นถูกกำหนดให้เป็น@ตัวอักษรรองลงมา 3 ตัวหรือมากกว่านั้นซึ่งอ้างถึงผู้ใช้นั้นอย่างไม่น่าสงสัย อย่างไรก็ตามคุณต้องพิจารณาการตอบกลับด้วยซึ่งจะต้องเริ่ม:messageidจากตามด้วยช่องว่าง สมมติว่าข้อความแรกมีรหัส0และดำเนินการตามลำดับ เอาท์พุทผู้ใช้แต่ละคนและบอกว่ากี่ครั้งที่แต่ละคนได้รับการ ping เอาต์พุตสามารถอยู่ในรูปแบบคำสั่ง / สมเหตุสมผล นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! กรณีทดสอบ [["AlexA.", "I am wrong"], ["Quartatoes", "@Alex you are very wrong"], ["AlexA.", ":1 I am only slightly wrong"]] AlexA.: 1 Quartatoes: 1 [["Doorknob", "I have …

5
มีอักขระกี่ตัวบนไอคอนของไซต์ Stack Exchange
ระบุชื่อของไซต์สแต็ก Exchange ที่ยังไม่มีการออกแบบของตัวเองตัดสินใจว่ามีกี่อักขระ ASCII (ไม่ใช่ ASCII ที่นับรวมกัน) ที่ไอคอน รหัสของคุณควรแยกความแตกต่าง 4 กรณีเหล่านี้: 1 ตัวละคร: Astronomy Beer Freelancing Health History Law Music: Practice & Theory Parenting The Great Outdoors Writers 2 ตัวอักษร: 3D Printing Amateur Radio Biblical Hermeneutics Bitcoin Board & Card Games Buddhism Chinese Language Coffee Community Building Computational Science Computer …

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) …

30
รวมจำนวนสแควร์คี่น้อยกว่า N
เขียนโปรแกรมหรือฟังก์ชั่นเพื่อการส่งออกรวมของตารางเลขคี่ (OEIS # A016754)น้อยกว่า nการป้อนข้อมูล 44 หมายเลขแรกในลำดับคือ: 1, 9, 25, 49, 81, 121, 169, 225, 289, 361, 441, 529, 625, 729, 841, 961, 1089, 1225, 1369, 1521, 1681, 1849, 2025, 2209, 2401, 2601, 2809, 3025, 3249, 3481, 3721, 3969, 4225, 4489, 4761, 5041, 5329, 5625, 5929, 6241, 6561, 6889, 7225, …

4
ค้นหาตัวเลขที่ขาดหายไปในสตริงที่ไม่ถูก จำกัด
ความท้าทายคือการระบุจำนวนที่ขาดหายไปในสตริงจำนวนเต็มไม่ จำกัด คุณได้รับสตริงตัวเลข (อินพุตที่ถูกต้องจะตรงกับนิพจน์ทั่วไป^[1-9][0-9]+$) สตริงแสดงลำดับของจำนวนเต็ม ตัวอย่างเช่น1234567891011. ตัวเลขทั้งหมดในลำดับอยู่ในช่วงจาก1และ2147483647รวม ลำดับคือชุดของตัวเลขโดยที่แต่ละหมายเลขมีค่ามากกว่าหมายเลขก่อนหน้า อย่างไรก็ตามลำดับนี้อาจมีเพียงหนึ่งหมายเลขที่ขาดหายไปจากลำดับ เป็นไปได้ว่าสตริงที่กำหนดยังไม่มีตัวเลขที่หายไปจากลำดับ สตริงจะมีตัวเลขอย่างน้อยสองตัวจากลำดับ รหัสจะต้องส่งออกหรือคืนค่าที่หายไปหรือ0(นี่คือ0- ไม่ใช่ค่าที่ผิดพลาด) ในกรณีที่ไม่พบค่าที่ขาดหายไป ต่อไปนี้เป็นอินพุตที่ถูกต้องและเอาต์พุต / ส่งคืน: input output actual sequence (for refrence) 123467 5 1 2 3 4 _ 6 7 911 10 9 __ 11 123125126 124 123 ___ 125 126 8632456863245786324598632460 8632458 8632456 8632457 _______ 8632459 8632460 …

20
ช่วงที่ผันผวน
เมื่อรับรายการด้วยตัวเลขให้แสดงช่วงดังนี้: การป้อนข้อมูล: จะกลายเป็น[0, 5, 0][0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0] นี้จะทำแผนที่ช่วงผ่านอาร์เรย์ดังนั้นเราจึงต้องสร้างช่วงซึ่งเป็น[0, 5] [0, 1, 2, 3, 4, 5]หลังจากนั้นเราจะใช้ในการสร้างช่วง5 [5, 0]ต่อท้ายช่วงก่อนหน้านี้ทำให้เรา: [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0] ลองสังเกตกรณีทดสอบด้วยตัวเลขสองหลักที่อยู่ติดกัน: [3, 5, 5, 3], ranges: [3, 5] = 3, 4, 5 [5, 5] …

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