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

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

9
ซ่อนสิ่งปลูกสร้าง
เวอร์ชั่นสั้นของChallenge ตึกระฟ้า งาน เมื่อกำหนดความสูงของอาคารและจำนวนเต็มบวกkให้ค้นหาการเรียงสับเปลี่ยนทั้งหมด (โดยไม่ซ้ำกัน) ของความสูงดังกล่าวเพื่อให้kอาคารสามารถมองเห็นได้ สิ่งปลูกสร้างใด ๆ จะซ่อนสิ่งปลูกสร้างที่เตี้ยกว่าหรือเท่ากับ รูปแบบใด ๆ สำหรับอินพุตและเอาต์พุตนั้นถูกต้อง อาร์เรย์อินพุตจะไม่ว่างเปล่า ในกรณีที่เป็นไปไม่ได้ที่จะเห็นอาคารหลายหลังให้ส่งสิ่งที่ไม่สามารถตอบได้ แต่ไม่มีข้อผิดพลาด ตัวอย่าง: (ความยาวของเอาต์พุตถูกแสดงสำหรับเอาต์พุตที่ยาวมาก แต่เอาต์พุตของคุณควรเป็นพีชคณิตที่เป็นไปได้ทั้งหมด) input:[1,2,3,4,5],2 output: 50 input:[5,5,5,5,5,5,5,5],2 output: [] input:[1,2,2],2 output:[(1,2,2)] Seeing from the left, exactly 2 buildings are visible. input:[1,7,4],2 output:[(4, 7, 1), (1, 7, 4), (4, 1, 7)] input:[1,2,3,4,5,6,7,8,9],4 output:67284 input:[34,55,11,22],1 output:[(55, 34, …

11
สร้างตัวเลขคร่าวๆ
พื้นหลัง จำนวนnสามารถอธิบายเป็นB-rough ถ้าทั้งหมดของปัจจัยที่สำคัญของการอย่างเคร่งครัดเกินnB ความท้าทาย รับจำนวนเต็มบวกสองตัวBและkเอาท์พุทk Bตัวเลขผ่านครั้งแรก ตัวอย่าง อนุญาตf(B, k)เป็นฟังก์ชั่นที่ส่งกลับชุดที่มีk Bตัวเลขที่ผ่านครั้งแรก > f(1, 10) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 > f(2, 5) 1, 3, 5, 7, 9 > f(10, 14) 1, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59

8
อินนิ่งคืออะไร
เป้าหมาย ในแง่ของ World Series ที่อยู่ใกล้ ๆ ฉันต้องการโปรแกรมที่สามารถอ่านคะแนนกล่องและบอกฉันว่ามันคืออะไร มีความซับซ้อนเล็กน้อยเนื่องจากเบสบอลใช้วิธีแปลก ๆ ในการบันทึกคะแนน พวกเขาไม่ได้เขียนคะแนนของทีม at-bat สำหรับโอกาสจนกว่าพวกเขาจะได้คะแนน (และยังคงดำเนินต่อไป) หรือจบ at-bat ดังนั้น 0 บนสกอร์บอร์ดจะหมายถึงค้างคาวที่เสร็จแล้วเสมอ ตัวอย่างเช่น: Example A: Inning| 1| 2| 3| 4| 5| 6| 7| 8| 9| Them| 0| 0| 0| 0| 0| 2| | | | Us| 0| 0| 2| 0| 0| 0| | …
15 code-golf 

30
ผลต่างสแควร์ผลรวม
ผลรวมของกำลังสองของตัวเลขธรรมชาติสิบตัวแรกคือ 12+22+⋯+102=38512+22+⋯+102=3851^2 + 2^2 + \dots + 10^2 = 385 กำลังสองของผลรวมของจำนวนธรรมชาติสิบตัวแรกคือ, (1+2+...+10)2=552=3025(1+2+...+10)2=552=3025(1 + 2 + ... + 10)^2 = 55^2 = 3025 ดังนั้นความแตกต่างระหว่างผลรวมของกำลังสองของจำนวนธรรมชาติสิบตัวแรกและกำลังสองของผลรวมคือ 3025−385=26403025−385=26403025 − 385 = 2640 สำหรับอินพุตที่กำหนดให้ค้นหาความแตกต่างระหว่างผลรวมของกำลังสองของตัวเลขธรรมชาติ n แรกและกำลังสองของผลรวม กรณีทดสอบ 1 => 0 2 => 4 3 => 22 10 => 2640 24 => 85100 100 => 25164150 …
15 code-golf  math 

15
เอาท์พุทเกลียวด้านในทวนเข็มนาฬิกาของอาร์เรย์ 2D
จากคำถาม stackoverflow นี้ กำหนดขนาดอาร์เรย์ 2 มิติส่งออกค่าในลักษณะทวนเข็มนาฬิกา เอาต์พุตจะต้องเริ่มจากด้านนอกสู่ด้านในและจุดเริ่มต้นจะเป็นเสมอM×NM×N M \times N (0,0)(0,0)(0,0) ตัวอย่างที่ได้รับ: ⎡⎣⎢⎢⎢15913261014371115481216⎤⎦⎥⎥⎥[12345678910111213141516] \begin{bmatrix} \color{blue}1&\color{red}2&\color{red}3&\color{red}4 \\ \color{red}5&6&7&\color{red}8 \\ \color{red}9&10&11&\color{red}{12} \\ \color{red}{13}&\color{red}{14}&\color{red}{15}&\color{red}{16}\end{bmatrix} ค่าขอบในการทวนเข็มนาฬิกาเป็นแล้ว1,5,9,13,14,15,16,12,8,4,3,21,5,9,13,14,15,16,12,8,4,3,21,5,9,13,14,15,16,12,8,4,3,2 1,5,9,13,14,15,16,12,8,4,3,2 ตอนนี้เราทำกระบวนการซ้ำสำหรับค่าภายใน นี่จะจบลงด้วยเมทริกซ์ดังต่อไปนี้ [610711][671011] \begin{bmatrix} \color{blue}6&\color{red}7 \\ \color{red}{10}&\color{red}{11} \end{bmatrix} และค่าภายในคือ6,10,11,76,10,11,7 6,10,11,7 ผลลัพธ์สุดท้ายจะเป็น1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,71,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7 1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7 กฎระเบียบ สมมติว่าอินพุตไม่ว่างเปล่า สมมติว่าค่าเมทริกซ์เป็นจำนวนเต็มบวก มาตรฐานฉัน O / วิธีใช้ ใช้กฎกติกากอล์ฟมาตรฐานและเกณฑ์การชนะ บางกรณีทดสอบ Input [ [1, 2, 3, 4, …
15 code-golf  matrix 

30
ขึ้นไปข้างบนและไปสู่ความรุ่งโรจน์ที่ยิ่งใหญ่กว่า!
ความท้าทายนี้อาจทำหน้าที่เป็น ( อีก ) ส่วยให้สแตนลีผู้ที่ล่วงลับไปอายุ 95 สแตนลีมีซ้ายเรามรดกอันล้ำค่าและแปลกจับคำ: Excelsior ดังนั้นนี่คือความท้าทายเล็กน้อยตามสิ่งที่เขาพูดว่าเป็นความหมาย : ในที่สุด“ Excelsior” หมายถึงอะไร “ ขึ้นไปสู่ความรุ่งโรจน์ที่ยิ่งใหญ่ขึ้น!” นั่นคือสิ่งที่ฉันต้องการให้คุณทุกครั้งที่ฉันทวีต! Excelsior! ท้าทาย กำหนดชุดของจำนวนเต็มไม่ลบส่งออกบรรทัดด้วยExcelsior!ทุกครั้งที่มีจำนวนเต็มมากกว่าก่อนหน้านี้ กฎระเบียบ ข้อมูลที่ป้อนจะเป็นอาร์เรย์ของจำนวนเต็มที่ไม่เป็นลบ เอาต์พุตจะประกอบด้วยบรรทัดที่มีคำว่าExcelsior(ตัวพิมพ์เล็กและตัวน้อย) ตามด้วยจำนวน!ความยาวของการวิ่งในปัจจุบันที่มีจำนวนมากขึ้นเรื่อย ๆ นอกจากนี้คุณยังสามารถส่งกลับอาร์เรย์ของสตริง รูปแบบอินพุตและเอาต์พุตมีความยืดหยุ่นตามกฎของไซต์ดังนั้นโปรดปรับเข้ากับรูปแบบภาษาของคุณ นอกจากนี้คุณยังสามารถเพิ่มช่องว่างที่ท้ายบรรทัดหรือเพิ่มบรรทัดใหม่หลังหรือก่อนข้อความหากคุณต้องการ ตัวอย่าง Input Output ----------------------------------- [3,2,1,0,5] Excelsior! // Excelsior because 5 > 0 [1,2,3,4,5] Excelsior! // Excelsior because 2 > 1 Excelsior!! // Excelsior …

16
ความยาวของลำดับ UTF-8
กำหนดความยาวของลำดับ UTF-8 ที่กำหนดเป็นไบต์แรก ตารางต่อไปนี้แสดงช่วงที่แมปกับความยาวที่เป็นไปได้ Range Length --------- ------ 0x00-0x7F 1 0xC2-0xDF 2 0xE0-0xEF 3 0xF0-0xF4 4 หมายเหตุเกี่ยวกับช่องว่างในตาราง: 0x80-0xBF เป็นไบต์ต่อเนื่อง 0xC0-0xC1 จะเริ่มต้นลำดับที่ยาวเกินไปไม่ถูกต้อง 0xF5-0xFF จะส่งผลให้ codepoint เกิน Unicode สูงสุด เขียนโปรแกรมหรือฟังก์ชั่นที่รับไบต์แรกของลำดับ UTF-8 เป็นอินพุตและเอาต์พุตหรือส่งคืนความยาวของลำดับ I / O ยืดหยุ่นได้ ตัวอย่างเช่นการป้อนข้อมูลอาจเป็นตัวเลขตัวอักษร 8 บิตหรือสตริงอักขระหนึ่งตัว คุณสามารถสันนิษฐานได้ว่าไบต์แรกเป็นส่วนหนึ่งของลำดับที่ถูกต้องและอยู่ในช่วงใดช่วงหนึ่งข้างต้น นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดเป็นไบต์ชนะ กรณีทดสอบ 0x00 => 1 0x41 => 1 0x7F => 1 …

9
ซวนเซสแต็ครวม
แรงบันดาลใจจากคำถามนี้กองมากเกิน ความท้าทาย อินพุต อาร์เรย์ของเมทริกซ์จตุรัสที่มีจำนวนเต็มไม่เป็นลบ เอาท์พุต เมทริกซ์จตุรัสที่สร้างจากเมทริกซ์อินพุตดังนี้ ให้เป็นขนาดของเมทริกซ์อินพุตแต่ละตัวและคือจำนวนเมทริกซ์อินพุตยังไม่มีข้อความ× Nยังไม่มีข้อความ×ยังไม่มีข้อความN \times NPPP เพื่อความชัดเจนให้พิจารณาตัวอย่างเมทริกซ์อินพุตต่อไปนี้ ( , P = 3 ):ยังไม่มีข้อความ= 2ยังไม่มีข้อความ=2N=2P= 3P=3P=3 3 5 4 10 6 8 12 11 2 0 9 1 เริ่มต้นด้วยเมทริกซ์อินพุตแรก เลื่อนอินพุตเมทริกซ์ที่สองN −1 ก้าวลงและN −1 ก้าวไปทางขวาเพื่อให้รายการเข้ามุมบนซ้ายตรงกับรายการล่างขวาของรายการก่อนหน้า ลองจินตนาการว่าเมทริกซ์ที่สองนั้นเลื่อนเป็นเมทริกซ์ที่ซ้อนอยู่ด้านบนของเมทริกซ์แรก รวมสองค่าในรายการที่เกิดขึ้นพร้อมกัน เขียนค่าอื่น ๆ และเติมรายการที่เหลือด้วย0เพื่อรับเมทริกซ์ด้วยอินพุตตัวอย่างผลลัพธ์ที่ได้คือ( 2 N- 1 ) × ( 2 N- …

7
การเลื่อนเซกเมนต์เจ็ดส่วน
โพสต์ Sandbox Intro แผงข้อมูลมีอยู่ทุกที่ เมื่อเทคโนโลยีราคาถูกลงโปสเตอร์กระดาษจะถูกเปลี่ยนเป็นสัญญาณเรืองแสงที่แสดงคำที่ปรากฏอยู่ด้านหนึ่งและออกมาอีกด้านหนึ่งเหมือนกับที่อยู่ในรูป: เมื่อสัญญาณใดสัญญาณหนึ่งเหล่านี้เริ่มขึ้นมักจะเริ่มว่างเปล่าและข้อความจะออกจากด้านขวาไปทางซ้ายเคลื่อนย้ายจนกว่าจะหายไป การทำงานของมันคือการเปิดและปิดหลอดไฟขนาดเล็ก (LEDs) เพื่อให้ความรู้สึกเคลื่อนไหว หากคุณต้องการแสดงข้อความแทนข้อความเราสามารถทำให้โปสเตอร์มีความซับซ้อนน้อยลงโดยใช้เครื่องหมายเจ็ดส่วนดังต่อไปนี้: ในกรณีนี้แต่ละหมายเลขจะแสดงโดยการเปิด / ปิดเพียง 7 เซกเมนต์แสงที่อนุญาตให้แสดงตัวเลขทั้งหมด: คำถามที่เราถามตัวเองว่าควรมีการเปลี่ยนแปลงของแสง (จำนวนเท่าใดในและนอก) ที่จะผ่านโปสเตอร์หนึ่งในจำนวนเหล่านี้? ตัวอย่างเช่นเพื่อแสดง 123 ในสัญลักษณ์ 3 หลักที่เริ่มต้นด้วย LED ทั้งหมดที่เราจะได้: ทำให้มีการเปลี่ยนแปลงของไฟทั้งหมด 42 ครั้ง ท้าทาย กำหนดตัวเลขที่ไม่เป็นลบและความยาวเครื่องหมายบวกคำนวณจำนวนการเปลี่ยนแปลงของแสง กฎระเบียบ สมมติว่าอินพุตประกอบด้วยตัวเลขที่ไม่เป็นลบ (N> = 0) และความยาวเครื่องหมายบวก (M> 0) สมมติว่าความยาวเครื่องหมาย> = ความยาวหมายเลข (M> = ตัวเลข (N)) กรณีทดสอบ 123, 3 => 42 …
15 code-golf 

11
จำลอง NFA
ออโตเมติก จำกัด nondeterministicเป็นเครื่องสถานะ จำกัด ที่ tuple ถูกแมปกับหลายรัฐ กล่าวคือ เราแทนที่ปกติδ : Q × Σ →การQฟังก์ชั่นการเปลี่ยนแปลงของDFAกับฟังก์ชั่นอื่นΔ : Q × Σ →การP ( Q )( s t a t e , s y)m b o l )(sเสื้อaเสื้ออี,sYม.ขโอล.)(state,symbol)δ: Q × Σ → Q δ:Q×Σ→Q \delta : Q \times \Sigma \to Q\ Δ : Q …

16
สตริงผลรวมสูงสุด
สตริงผลรวมสูงสุด รับสตริงอินพุตคืนคำด้วยผลรวมสูงสุดของอักขระยูนิโค้ดแต่ละตัว กฎระเบียบ อินพุตควรถูกคั่นด้วยช่องว่าง ค่าของแต่ละคำขึ้นอยู่กับผลรวมของตัวละครแต่ละตัวในรหัส UTF-16 ของคำ ผลลัพธ์ควรเป็นคำแรกที่มีค่าสูงสุด (ในกรณีที่เป็นผลรวมซ้ำ) ตัวอย่าง Input: "a b c d e" Output: "e" Input: "hello world" Output: "world" Input: "this is a test" Output: "test" Input: "àà as a test" Output: "àà" Input "α ää" Output: "α" Input: "🍬 隣隣隣" Output: "隣隣隣" Input: "💀 👻 …

14
ทำซ้ำสัมผัสและวนลูปบนสระ
เสียงสระสัมผัส: แอปเปิ้ลและกล้วย มีเพลงเด็กแบบดั้งเดิมที่ซ้ำข้อความเดิมซ้ำแล้วซ้ำอีกทุกครั้งที่เสียงสระทุกครั้งจะถูกแทนที่ด้วยเสียงสระแบบสุ่ม แต่จะคงที่ในบทบทปัจจุบัน ท้าทาย วัตถุประสงค์คือเพื่อเสนอรหัสที่สั้นที่สุดที่ดำเนินการเปลี่ยนแปลงดังกล่าวในข้อความอินพุต กฎระเบียบ คุณต้องพิมพ์คำคล้องจองหลาย ๆ ครั้งเนื่องจากมีเสียงสระชัดเจน การพิมพ์แต่ละครั้งจะต้องคั่นด้วยตัวแบ่งบรรทัด (คอมโบเฉพาะแพลตฟอร์มของ\nและ\rเป็นที่ยอมรับ) สำหรับการวนซ้ำiให้แทนที่สระแต่ละตัวด้วยสระที่iแตกต่างกันในข้อความต้นฉบับ ป้อนข้อความเป็นลำดับของอักขระ ASCII ที่พิมพ์ได้ [32, 126](ช่วง ข้อมูลที่ป้อนจะไม่มีตัวแบ่งบรรทัดฝังอยู่ ตัวอักษรสระจะต้องได้รับผลกระทบส่วนอื่น ๆ จะต้องส่งออกตรงตามที่ป้อน มีเพียงตัวอักษรสระเท่านั้นที่มีให้: สระจมูกแม้ว่าจะฟังดูเหมือนสระ (เช่นในภาษาฝรั่งเศส"ตินติน" ) จะต้องไม่ถูกจัดการเป็นสระเดี่ยว กรณีสำคัญสำหรับเอาต์พุต แต่เป็นตำแหน่ง (การแทนที่สระตัวพิมพ์ใหญ่จะทำกับสระตัวพิมพ์ใหญ่แทน) เสียงสระตัวใหญ่ไม่แตกต่างจากตัวพิมพ์เล็ก (เช่นa<=> A) สระที่ต่อเนื่องกันจะพิจารณาแยกกันเสมอ (เช่นBoatให้ผลผลิตทั้งสองBootและBaat) เนื่องจากตัวอักษรyแสดงถึงสระหรือพยัญชนะสระ (ขณะที่เรากำลังพูดภาษาอังกฤษ) การจัดการเป็นสระหรือพยัญชนะได้รับอนุญาต แต่คำตอบจะต้องระบุอย่างชัดเจนว่าพวกเขาจัดการyเป็นสระหรือไม่ ตัวอย่าง: สวัสดีชาวโลก Hello world! ให้: Helle werld! Hollo world! ข้อความที่ตัดตอนมาจากข้อความต้นฉบับภาษาฝรั่งเศส (แปล) …
15 code-golf  string 

22
แถวและคอลัมน์ที่เรียงลำดับบล็อกในอาร์เรย์ 2D
รับอาร์เรย์ของจำนวนเต็ม 2 มิติลองเรียงแถวและคอลัมน์ในบล็อก ซึ่งหมายความว่าคุณต้องเรียงลำดับแถวหรือคอลัมน์ที่กำหนดเท่านั้น แต่ใช้การแปลงที่จำเป็นสำหรับการจัดเรียงแถวกับทุกแถวหรือคอลัมน์อื่น ๆ ในอาร์เรย์ 2D กฎระเบียบ อินพุตจะเป็นอาร์เรย์จำนวนเต็ม 2 มิติและจำนวนเต็ม 1 ดัชนี จำนวนเต็มนี้จะแทนแถวที่จะเรียงหากตัวเลขเป็นค่าบวกหรือคอลัมน์ที่จะเรียงหากตัวเลขเป็นค่าลบ (หรือวิธีอื่น ๆ ที่คุณต้องการ) ตัวอย่าง: กำหนด4x3แถว (คอลัมน์ x คอลัมน์) คุณสามารถเรียงลำดับคอลัมน์ที่สองด้วย-2อาร์กิวเมนต์หรือแถวที่สามด้วย3อาร์กิวเมนต์ อาร์กิวเมนต์ที่สองนี้จะไม่เป็นศูนย์และค่าสัมบูรณ์ของมันจะไม่มากกว่ามิติที่สอดคล้องกันของอาร์เรย์ เอาต์พุตจะเป็นอาร์เรย์จำนวนเต็มแบบ 2 มิติที่มีการแปลงที่ต้องการเพื่อเรียงลำดับแถวหรือคอลัมน์ที่กำหนด หรือคุณสามารถเขียนอาร์เรย์ไปยัง STDOUT อาร์เรย์เอาต์พุตจะมีแถวหรือคอลัมน์ที่ระบุเรียงตามลำดับจากน้อยไปหามาก เพิ่งทราบว่าเมื่อคุณต้องการสลับตัวเลขสองตัวในหนึ่งแถวคอลัมน์ทั้งหมดที่มีการวางตัวเลขจะถูกสลับ และเมื่อคุณต้องการสลับสองตัวเลขในคอลัมน์แถวทั้งหมดที่มีการวางตัวเลขจะถูกสลับ ในกรณีที่หมายเลขเดียวกันปรากฏขึ้นหลายครั้งในแถว / คอลัมน์ที่จะเรียงลำดับจะมีวิธีแก้ปัญหาที่หลากหลายตามวิธีที่คุณสลับค่าเพียงทำตามกับส่วนที่เหลือของแถว / คอลัมน์ที่จะแลกเปลี่ยน ตัวอย่าง Positive indices for rows and negative indices for columns [5 8 …

16
จำนวนวิธีที่ตัวเลขคือผลรวมของช่วงเวลาที่ต่อเนื่องกัน
กำหนดจำนวนเต็มมากกว่า 1 ส่งออกจำนวนวิธีที่มันสามารถแสดงเป็นผลรวมของช่วงเวลาหนึ่งหรือมากกว่าติดต่อกัน ลำดับของการสรุปไม่สำคัญ ผลรวมสามารถประกอบด้วยตัวเลขเดียว (ดังนั้นผลลัพธ์สำหรับนายกใด ๆ จะมีอย่างน้อย 1) นี่คือรหัสกอล์ฟ ใช้กฎมาตรฐาน ดูนี้วิกิพีเดีย OEISสำหรับข้อมูลที่เกี่ยวข้องและลำดับรวมทั้งลำดับของตัวเองOEIS A054845 กรณีทดสอบ 2 => 1 3 => 1 4 => 0 5 => 2 6 => 0 7 => 1 8 => 1 10 => 1 36 => 2 41 => 3 42 => 1 43 => …

16
โหลดรถบัสถูกกฎหมายหรือไม่
ฉันอยู่ในรถบัสวันนี้และสังเกตเห็นสัญญาณนี้: seated standing wheelchairs max1 37 30 00 max2 36 26 01 max3 34 32 00 จำนวนผู้โดยสารที่นั่งยืนและเก้าอี้รถเข็นทั้งหมดต้องไม่ใหญ่กว่าบางแถวในตาราง (ดูรายละเอียดการแชท) สำหรับวัตถุประสงค์ของการท้าทายนี้เราจะพูดคุยแนวคิดนี้: กำหนดรายการจำนวนเต็มไม่เป็นลบของความยาวเชิงบวก N อย่างเคร่งครัด (จำนวนประเภทผู้โดยสาร) และเมทริกซ์จำนวนเต็มไม่ลบของมิติบวกอย่างเคร่งครัด (คอลัมน์ N และหนึ่งแถวต่อการกำหนดค่า หรือทรานแซคชั่นของสิ่งนี้) ส่งคืนรายการดัชนี / ความจริง - เท็จ / สองค่าที่ไม่ซ้ำกันซึ่งบ่งชี้ว่าข้อ จำกัด การกำหนดค่าใดเป็นจริง เช่นด้วยเมทริกซ์ด้านบน: 30,25,1→ [1](ดัชนี 0) [2](ดัชนี 1) หรือ[false,true,false](บูลีน) หรือ["Abe","Bob","Abe"](สองค่าที่ไม่ซ้ำกัน) เป็นต้น กรณีทดสอบต่อไปนี้ใช้เมทริกซ์ดังกล่าวข้างต้นและ 0/1 เท็จ / …

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