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

สำหรับความท้าทายเกี่ยวกับไวยากรณ์ที่เป็นทางการมักจะเป็นไวยากรณ์ที่ไม่มีบริบท

30
สร้าง“ H” จาก“ H” ที่เล็กลง
ท้าทาย สร้างฟังก์ชั่นหรือโปรแกรมที่เมื่อได้รับจำนวนเต็มsizeทำต่อไปนี้: ถ้าsizeเท่ากับ 1 เอาต์พุต H H HHH H H ถ้าsizeมากกว่า 1 เอาต์พุต X X XXX X X โดยที่Xเอาต์พุตของโปรแกรม / ฟังก์ชั่นสำหรับsize - 1 (หากคุณต้องการคุณอาจมีกรณีฐานสอดคล้องกับ0ตราบใดที่คุณระบุในคำตอบของคุณ) รูปแบบผลลัพธ์ใด ๆ ต่อไปนี้เป็นที่ยอมรับแล้วแต่จำนวนใดจะสะดวกกว่าสำหรับคุณ: สตริงของโครงสร้างที่ต้องการพร้อมอักขระสองตัวที่แตกต่างกันซึ่งสอดคล้องกับHและspace อาร์เรย์สองมิติพร้อมโครงสร้างที่ต้องการโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อาร์เรย์ / รายการสตริงที่มีหนึ่งบรรทัดของเอาต์พุตในแต่ละสตริงโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อนุญาตให้มีช่องว่างนำหน้าตราบใดที่มีช่องว่างนำหน้าจำนวนหนึ่งคงที่ในแต่ละบรรทัด อักขระเอาต์พุตที่แตกต่างกันสองตัวสามารถขึ้นอยู่กับสิ่งที่คุณเลือกตราบใดที่อักขระเหล่านั้นแตกต่างกัน ระบุรูปแบบผลลัพธ์ที่โค้ดของคุณส่งคืน กรณีทดสอบ 1 H H HHH H H 2 H H H H HHH HHH H …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

6
ช่วยด้วย! เครื่องคิดเลขของฉันทำงานผิดปกติ!
บทนำ เครื่องคิดเลขของฉันมีพฤติกรรมแปลก ๆ บางครั้งเมื่อฉันพิมพ์ในจะแสดง8 2และบางครั้งเมื่อฉันพิมพ์ในจะแสดง6 +ปุ่มบางปุ่มผสมกัน! ใครสามารถช่วยฉันพิจารณาว่าอันไหน ท้าทาย: อินพุต:รายการสมการที่ไม่ถูกต้องพร้อมผลลัพธ์ที่ถูกต้อง เอาท์พุท:สองปุ่มที่สลับ ตัวอย่างเช่น: อินพุตอาจเป็น: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 ซึ่งผลที่คาดว่าจะเป็น: และ2* ทำไม? เนื่องจากสมการทั้งหมดจะถูกต้องหากเราสลับ 2 และ * ของ: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

10
บทคัดย่อการเขียนซ้ำที่ท้าทาย (ตำรวจ)
นี่เป็นความท้าทายสำหรับตำรวจและโจรเหมือนกอล์ฟ นี่คือกระทู้ของตำรวจ ด้ายของโจรอยู่ที่นี่ ตำรวจ งานของคุณคือการกำหนดระบบการเขียนบทคัดย่อซึ่งการเข้าถึงของหนึ่งคำจากอีกคำหนึ่งนั้นยากที่จะกำหนด คุณจะเตรียมสิ่งต่อไปนี้: ชุดสัญลักษณ์ที่เรียกว่าตัวอักษร (คุณสามารถใช้อักขระ Unicode สำหรับสิ่งเหล่านี้ได้ แต่โปรดอย่าใช้ช่องว่างหรือสัญลักษณ์ที่ยากที่จะแยกความแตกต่างระหว่างกัน) สตริงแหล่งประกอบด้วยสัญลักษณ์จากตัวอักษรของคุณ สตริงเป้าหมายประกอบด้วยสัญลักษณ์จากตัวอักษรของคุณ ชุดของกฎการเขียนซ้ำโดยใช้อักขระจากตัวอักษรของคุณ (ดูด้านล่างสำหรับคำจำกัดความของกฎการเขียนซ้ำ) หลักฐานแสดงว่าสตริงต้นทางของคุณสามารถแปลงเป็นสตริงเป้าหมายของคุณได้หรือไม่โดยการใช้กฎที่เขียนซ้ำอย่างต่อเนื่อง การพิสูจน์นี้อาจประกอบด้วยลำดับขั้นตอนที่แท้จริงของการเขียนซ้ำหรือการพิสูจน์ทางคณิตศาสตร์ที่ต้องมีลำดับดังกล่าวหรือการพิสูจน์ทางคณิตศาสตร์ว่าลำดับดังกล่าวไม่มีอยู่จริง คุณจะโพสต์สี่คนแรกเหล่านี้เก็บความลับการพิสูจน์; โจรจะพยายามถอดรหัสคำตอบของคุณโดยให้หลักฐานของตัวเองว่าสตริงเป้าหมายของคุณสามารถหรือไม่สามารถเข้าถึงได้จากสตริงที่มาของคุณ หากการส่งของคุณไม่แตกภายในสองสัปดาห์คุณอาจทำเครื่องหมายว่าปลอดภัยและแก้ไขในหลักฐานของคุณ ผลงานจะได้คะแนนตามจำนวนตัวอักษรในกฎการเขียนซ้ำและสตริงต้นทางและเป้าหมายตามรายละเอียดด้านล่าง ผู้ชนะจะเป็นผลงานที่ไม่ได้ติดตามซึ่งมีคะแนนต่ำที่สุด กฎการเขียนซ้ำคืออะไร กฎการเขียนซ้ำเป็นเพียงสตริงในตัวอักษรของคุณ (สตริงเหล่านี้อาจว่างเปล่า) แอปพลิเคชันของกฎการเขียนใหม่ประกอบด้วยการค้นหาสตริงย่อยที่เท่ากับสตริงแรกในคู่และแทนที่ด้วยสตริงที่สอง ตัวอย่างควรทำให้ชัดเจน: ตัวอักษรสมมติว่าA, BและC; สตริงที่มาคือ " A"; สตริงเป้าหมายคือ " C" และกฎการเขียนซ้ำคือ A:B B:BB B:A AA:C ดังนั้นสตริงเป้าหมายสามารถเข้าถึงได้ด้วยวิธีต่อไปนี้: A B (using rule 1) BB (using rule 2) …

14
นี่เป็นตัวเลขสามเหลี่ยมที่ถูกตัดทอนหรือไม่?
ลำดับ OEIS ที่เกี่ยวข้อง: A008867 หมายเลขสามเหลี่ยมที่ถูกตัดทอน คุณสมบัติทั่วไปของตัวเลขสามเหลี่ยมคือพวกเขาสามารถจัดเรียงในรูปสามเหลี่ยม ตัวอย่างเช่นใช้ 21 และจัดเป็นสามเหลี่ยมของos: โอ อู OOO oooo ooooo oooooo ลองกำหนด "การตัดปลาย:" การตัดสามเหลี่ยมขนาดเดียวกันจากแต่ละมุม วิธีหนึ่งในการตัดทอน 21 มีดังนี้: . . . OOO oooo . ooo . . oo . (รูปสามเหลี่ยม.ถูกตัดจากต้นฉบับ) oเหลืออีก12 วินาทีดังนั้น 12 จึงเป็นเลขสามเหลี่ยมที่ถูกตัดทอน งาน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่น (หรือเทียบเท่า) ที่ใช้จำนวนเต็มและส่งกลับ (หรือใช้วิธีการส่งออกมาตรฐานใด ๆ ) ไม่ว่าจะเป็นตัวเลขเป็นจำนวนสามเหลี่ยมตัดทอน กฎระเบียบ ไม่มีช่องโหว่มาตรฐาน อินพุตเป็นจำนวนเต็มที่ไม่เป็นลบ การตัดไม่สามารถมีความยาวด้านเกินกว่าครึ่งหนึ่งของสามเหลี่ยมเดิม (เช่นการตัดไม่สามารถซ้อนทับกันได้) …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

10
เมทริกซ์จากน้อยไปมาก
"เมทริกซ์จากน้อยไปมาก" เป็นเมทริกซ์ที่ไม่มีที่สิ้นสุดของจำนวนเต็ม (รวม 0) ซึ่งองค์ประกอบใด ๆ เป็นองค์ประกอบที่มีขนาดเล็กที่สุดซึ่งไม่เคยใช้ในแถวและคอลัมน์นั้นมาก่อน: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

1
ค้นหาชุดดังต่อไปนี้
ความท้าทายด้านล่างกำหนดให้คุณต้องคุ้นเคยกับทฤษฎี parser อย่างเป็นทางการหากคุณไม่ทราบว่าคำถามนี้ถามอะไรเพราะคุณไม่รู้ว่าคำศัพท์หมายถึงไวยากรณ์และบริบทชุดแรก / ชุดติดตามตามที่ครอบคลุมในหลักสูตรมหาวิทยาลัยจำนวนมาก ฉันสามารถแนะนำหลักสูตรสแตนฟอร์ดนี้โดยเฉพาะเอกสารประกอบคำบรรยาย 08 และ 09 (จากหน้า 7) ฉันได้แยกไฟล์โกงออกมาจากเอกสารประกอบคำบรรยายเหล่านี้แล้ว - ฉันแนะนำให้ทุกคนที่พยายามอ่านข้อท้าทายนี้ผมขอแนะนำให้ทุกคนพยายามที่ท้าทายนี้จะอ่านมัน เขียนโปรแกรมหรือฟังก์ชั่นที่ให้ไวยากรณ์ที่ไม่มีบริบทพบชุดต่อไปนี้ของ nonterminal ทุกชุด อย่างไม่เป็นทางการชุดติดตามที่ไม่ใช่เทอร์มินัลคือชุดของเทอร์มินัลและ$(หมายถึงจุดสิ้นสุดของอินพุต) ที่คุณสามารถค้นหาเทอร์มินัลนั้นในประโยคที่ถูกต้อง อินพุตถูกกำหนดเป็นสตริง ASCII เดียวที่พิมพ์ได้หรืออาร์เรย์ของบรรทัด ASCII ที่พิมพ์ได้ คุณสามารถส่งออกชุดในรูปแบบที่เหมาะสมโดยใช้$(ไม่ว่าจะเป็นตัวอักษรออกหรือสตริงภายในชุด ฯลฯ ) เพื่อระบุจุดสิ้นสุดของการป้อนข้อมูล คุณอาจจะสมมติว่าอินพุตนั้นใช้ได้เสมอตามรูปแบบด้านล่าง บริบทของไวยากรณ์ฟรีถูกกำหนดในลักษณะที่ง่ายมาก ทุกบรรทัดมีการผลิตรายการเดียว ทุกการผลิตคือรายการสัญลักษณ์คั่นด้วยช่องว่าง เทอร์มินัลคือสตริงของอักขระที่ล้อมรอบด้วยอะโพสโทรฟี (เช่น'**' ) เพื่อความง่ายคุณอาจสมมติว่าเทอร์มินัลไม่มีช่องว่าง แต่มันจะดีถ้าโปรแกรมของคุณอนุญาต nonterminal อาจจะเป็นสตริงใด ๆ $ที่ไม่มีช่องว่างหรือ การผลิตที่ว่างเปล่า (ปกติระบุด้วยε) เป็นเพียงบรรทัดที่มีเฉพาะที่ไม่ใช่ด้านซ้ายมือ บรรทัดแรกคือการผลิตที่กำหนดสัญลักษณ์เริ่มต้น เป็นตัวอย่างไวยากรณ์ต่อไปนี้: S → aSa | …

3
ผู้ประกอบการ Bitwise ใน Brainfuck
งานของคุณคือสร้างโปรแกรม brainfuck หนึ่งโปรแกรมสำหรับตัวดำเนินการไบนารีต่อไปนี้ แต่ละโปรแกรมควรใช้หนึ่งหรือสองหมายเลข 8 บิต (A และ B) จากอินพุตและคำนวณการดำเนินการที่ระบุ: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A คุณไม่ต้องใช้ทั้งหมด 5 คะแนนคำนวณโดย: #totalCharacters + {4000 * #problemsNotCompleted} คะแนนที่ถูกต้องคือจากศูนย์ (ดีที่สุด) ถึง 20,000 (ไม่เสร็จสมบูรณ์) ฉันไม่สนใจว่าคุณจะเก็บผลลัพธ์ไว้ที่ใดหรือคุณเก็บข้อมูลไว้หรือไม่ สมมติว่าเซลล์ 8 บิตและเซลล์ว่างมากเท่าที่คุณต้องการไปทางขวาเท่านั้น คุณอาจคิดว่าตัวเลขนั้นอยู่ในตำแหน่งหน่วยความจำที่เหมาะกับคุณที่สุดอยู่แล้วดังนั้นคุณไม่ต้องกังวลกับการทำงานของ IO
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

5
คอมพิวเตอร์จะไม่ลิ้มรสคุกกี้ที่สดชื่น
แรงบันดาลใจจากgithub.com/JackToaster/Reassuring-Parable-Generatorในการเปิดแรงบันดาลใจจากxkcd.com/1263 คำที่เป็นไปได้นั้นมาจากreassuring.cfgของที่เก็บนั้น แนะนำให้ดู reassuring.cfg (ใช้การกระทำที่ 12)เพื่อดูไวยากรณ์ที่ตรงกับเอาต์พุต (ผลลัพธ์คือรายการของสตริงทั้งหมดที่ตรงกับไวยากรณ์) ภารกิจ:โปรแกรมต้องออกของคุณทั้งหมด 7,968 กรณีสายของข้อความที่แน่นอนที่มีอยู่ใน Pastebin pastebin.com/2SNAJ1VH สำเนาของ pastebin จะถูกบันทึกไว้ในเครื่อง Wayback นี่คือตัวอย่างของ 33 บรรทัดที่สร้างแรงบันดาลใจจาก pastebin: Computers can't enjoy a salad. Computers can't enjoy a cake. Computers can't enjoy a ice cream cone. Computers can't enjoy a meal. Computers can't enjoy a drink. Computers can't enjoy …

5
บทคัดย่อการเขียนซ้ำที่ท้าทาย (โจร)
นี่คือค่อนข้าง หลักฐานกอล์ฟ-ชอบ ตำรวจและโจรท้าทาย. นี่คือกระทู้โจร ด้ายตำรวจอยู่ที่นี่ โจร ตำรวจจะโพสต์ระบบการเขียนบทคัดย่อ งานของคุณคือถอดรหัสการส่งของพวกเขาโดยการพิสูจน์ว่าสตริงเป้าหมายสามารถหรือไม่สามารถเข้าถึงได้จากสตริงต้นทางโดยใช้กฎการเขียนซ้ำของพวกเขา (คุณสามารถทำได้โดยการโพสต์ลำดับของกฎการเขียนใหม่ที่เริ่มต้นด้วยสตริงต้นทางและสิ้นสุดด้วยเป้าหมายหรือโดยการพิสูจน์ทางคณิตศาสตร์ว่าสิ่งนี้มีอยู่หรือไม่มีอยู่) ดูหัวข้อของตำรวจสำหรับรายละเอียดและคำจำกัดความ

2
บีบอัดข้อมูลด้วยไวยากรณ์ที่ไม่มีบริบท
เป็นไปได้ที่จะบีบอัดข้อมูลบางประเภทเช่นข้อความของมนุษย์หรือซอร์สโค้ดด้วยไวยากรณ์แบบเส้นตรง โดยทั่วไปคุณสร้างไวยากรณ์ที่ภาษามีคำเดียว - ข้อมูลที่ไม่ได้บีบอัด ในงานนี้คุณต้องเขียนโปรแกรมที่ใช้วิธีการประมวลผลข้อมูลนี้ อินพุต อินพุตเป็นสตริงที่มีความยาวไม่เกิน 65535 ไบต์ มีการประกันว่าอินพุตนั้นตรงกับนิพจน์ทั่วไป[!-~]+(เช่นอย่างน้อยหนึ่งตัวอักษร ASCII ที่พิมพ์ได้ซึ่งไม่รวมช่องว่าง) ตัวอย่างอินพุตคือ abcabcbcbcabcacacabcabab เอาท์พุต เอาท์พุทเป็นชุดของกฎที่เป็นไวยากรณ์ที่อธิบายว่าหนึ่งคำ (อินพุต) แต่ละ nonterminal จะแทนด้วยตัวเลขทศนิยมมากกว่า 9 สัญลักษณ์เริ่มต้นคือหมายเลขสัญลักษณ์สิบ เอาต์พุตตัวอย่างที่สอดคล้องกับอินพุตตัวอย่างได้รับด้านล่าง ไวยากรณ์ของมันจะอธิบายเพิ่มเติมด้านล่าง: 10=11 11 12 12 11 13 13 11 14 14 11=a 12 12=b c 13=a c 14=a b แต่ละกฎมีรูปแบบที่<nonterminal>=<symbol> <symbol> ...มีจำนวนของสัญลักษณ์ที่คั่นด้วยช่องว่างโดยพลการทางด้านขวา แต่ละเอาต์พุตที่ปฏิบัติตามข้อ จำกัด ต่อไปนี้และได้รับสตริงอินพุตที่ถูกต้อง ข้อ จำกัด …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.