ขอคำปรึกษาวิธีการเขียนโปรแกรม เพื่อหาคำตอบที่เป็นไปได้ในการจัดเรียงทีละคู่ แล้วแสดงคำตอบที่เป็นไปได้ทั้งหมดครับ
ตัวอย่าง มี n = A B C D
ความเป็นไปได้ในการจัดทีละคู่(r)จะได้ n!/(r!(n-r)!) วิธี หรือ 4!/(2!(4-2)!) = 6 วิธี (ถ้า 5 จะได้ 10 วิธี)
>> จากโจทย์จะได้คู่อันดับ AB AC AD BC BD CD (แปลความหมาย A ก่อน B , A มาก่อน C, A มาก่อน D, B มาก่อน C, ...)
>> คำตอบจะได้ ABCD
>> ถ้าสุ่มเงื่อนไข สลับก่อนหลัง ของคู่อันดับเข้าไป สมมุติสลับคู่แรก เช่น BA AC AD BC BD CD (แปลความหมาย B ก่อน A , A มาก่อน C, A มาก่อน D, B มาก่อน C, ...)
>> หาคำตอบว่า จากเงื่อนไขข้างต้น จะได้คำตอบเป็นอะไร ในที่นี้คำตอบคือ BACD
>> ถ้าสลับการมาก่อนหลังของ คู่อันดับ ทำมากกว่า 1 คู่ เช่น AB CA AD CB BD CD จะได้คำตอบเป็นอย่างไร
รบกวนขอคำแนะนำ concept หรือ code ด้วยภาษาอะไรก็ได้ครับ
**แต่ปัญหาที่อาจเกิดขึ้นคือหากสุ่มการสลับก่อนหลังของคู่อันดับ อาจเจอ case ที่เป็นไปไม่ได้ หรือขัดแย้งกัน จะเช็ดและป้องกันอย่างไรดีครับ
ขอคำปรึกษาวิธีการเขียนโปรแกรม เพื่อหาคำตอบที่เป็นไปได้ในการจัดเรียงทีละคู่ แล้วแสดงคำตอบที่เป็นไปได้ครับ
ตัวอย่าง มี n = A B C D
ความเป็นไปได้ในการจัดทีละคู่(r)จะได้ n!/(r!(n-r)!) วิธี หรือ 4!/(2!(4-2)!) = 6 วิธี (ถ้า 5 จะได้ 10 วิธี)
>> จากโจทย์จะได้คู่อันดับ AB AC AD BC BD CD (แปลความหมาย A ก่อน B , A มาก่อน C, A มาก่อน D, B มาก่อน C, ...)
>> คำตอบจะได้ ABCD
>> ถ้าสุ่มเงื่อนไข สลับก่อนหลัง ของคู่อันดับเข้าไป สมมุติสลับคู่แรก เช่น BA AC AD BC BD CD (แปลความหมาย B ก่อน A , A มาก่อน C, A มาก่อน D, B มาก่อน C, ...)
>> หาคำตอบว่า จากเงื่อนไขข้างต้น จะได้คำตอบเป็นอะไร ในที่นี้คำตอบคือ BACD
>> ถ้าสลับการมาก่อนหลังของ คู่อันดับ ทำมากกว่า 1 คู่ เช่น AB CA AD CB BD CD จะได้คำตอบเป็นอย่างไร
รบกวนขอคำแนะนำ concept หรือ code ด้วยภาษาอะไรก็ได้ครับ
**แต่ปัญหาที่อาจเกิดขึ้นคือหากสุ่มการสลับก่อนหลังของคู่อันดับ อาจเจอ case ที่เป็นไปไม่ได้ หรือขัดแย้งกัน จะเช็ดและป้องกันอย่างไรดีครับ