โจทย์การแข่งขัน programming ครับ
หวังว่าจะเป็นประโยชน์ต่อทุกๆคนในการฝึกฝน
สำหรับผลการแข่งขันขอเวลาอีกสักพักนะครับ
มีอะไรสอบถามเกี่ยวกับโจทย์ programming ก็บอกกันได้นะครับ
โจทย์การแข่งขัน Programming กีฬาเน็ตเวิร์กเกมส์ครั้งที่ 14
1. เขียนโปรแกรมสุ่มตัวเลข 1-9 ใส่ลงใน matrix ขนาด 5x5 เป็นรูปสามเหลี่ยม และแสดงผลออกทางจอภาพ เช่น
1
3 5
4 4 6
7 9 5 4
2 7 9 3 8
แล้วคำนวณหาค่า Max ของผลรวมจากการเดินทางโดยเริ่มต้นที่ตำแหน่ง [1][1] และลงมาถึงแถวที่ 5 โดยมีกฎการเดินดังนี้
1. การเดินทางแต่ละครั้งต้องเดินลงมาทีละแถว(ห้ามข้ามแถว)
2. การเดินทางแต่ละครั้งสามารถเดินลงที่คอลัมน์เดิม หรือคอลัมน์ทางขวาที่ติดกันได้
เส้นทางที่สามารถเดินได้ทั้งหมดเป็นดังรูป
1
| \
3 5
| \| \
4 4 6
| \| \| \
7 9 5 4
| \| \| \| \
2 7 9 3 8
จากรูปเส้นทางที่ได้ผลรวมมากที่สุด มาจาก 1-> 5 -> 4 -> 9 -> 9 ผลรวมเท่ากับ 28
Output
1
3 5
4 4 6
7 9 5 4
2 7 9 3 8
Max = 28
2. เขียนโปรแกรมรับจำนวนเซตและขนาดของแต่ละเซต สร้างเซตที่มีสมาชิกเป็นเลขจำนวนเต็ม ตั้งแต่ 1 ถึง ขนาดของเซตนั้นๆ เช่น เซตที่มีขนาด 5 จะมีสมาชิกเป็น {1, 2, 3, 4, 5}
เซตที่มีขนาด 3 จะมีสมาชิกเป็น {1, 2, 3 }
แสดงสมาชิกของแต่ละเซตออกทางจอภาพ
แสดงผลคูณคาร์ทีเชียนของทุกเซต
ตัวอย่าง
ผลคูณคาร์ทีเชียนของ {1,2,3},{1,2},{1,2,3} คือ 1 1 1 , 1 1 2 , 1 1 3 , 1 2 1 , 1 2 2 , 1 2 3 , 2 1 1 , 2 1 2 , 2 1 3
2 2 1 , 2 2 2 , 2 2 3 , 3 1 1 , 3 1 2 , 3 1 3 , 3 2 1 , 3 2 2 , 3 2 3
Input
3
Set 1 size 3
Set 2 size 2
Set 3 size 3
Output
1 1 1
1 1 2
1 1 3
1 2 1
1 2 2
1 2 3
2 1 1
2 1 2
2 1 3
2 2 1
2 2 2
2 2 3
3 1 1
3 1 2
3 1 3
3 2 1
3 2 2
3 2 3
3. พาลินโดรม คือ คำที่ไม่ว่าจะเขียนจากซ้ายไปขวา หรือ ขวาไปซ้ายจะได้คำเดิม เช่น ADDA , 191 , radar ,
rotator
จงเขียนโปรแกรมรับคำ 1 คำ และบอกว่าคำนั้นเป็น พาลินโดรมหรือไม่
Input
radar
Output
radar is palindrome.
Input
neoone
Output
neoone is not palindrome.
4. เขียนโปรแกรมรับ binary string 1 ชุด ทำการเปรียบเทียบค่าของ binary string โดยนับจำนวนตัวเลขที่เหมือนกันและอยู่ติดกัน แล้วแปลงจำนวนตัวเลขนั้นเป็น binary string ตามลำดับ เช่น
1 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0
2 5 2 3 1 3
10 101 10 11 1 11
Input
1100000110001000
Output
101011011111