-
โจทย์การแข่งขัน 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
-
เป็นโจทย์ที่ดูเหมือนง่าย แต่ว่าพอลองอ่านแบบละเอียด ถือว่าท้าทายดีครับ
ถ้าไม่เป็นการละเมิดลิขสิทธิ์ ผมขออนุญาตเจ้าของกระทู้ ขอนำข้อความเหล่านี้ไปปริ้น และ ลองให้เพื่อนๆทำดูนะครับ
-
ขอบคุณ ครับ ผมกำลัง สนใจด้าน programming อยู่
ผมชอบความรู้เกี่ยวกับคอมพิวเตอร์
ตอนนี้กะลังรวบรวมแนวความคิดเกี่ยวกับ programming
โจทย์การแข่งขันกีฬา network game
เป็นโจทย์ที่ท้าทายดีครับ
ขอลองแก้ดู นะครับ
-
ชอบมากเลยโจทย์แปลก ๆ ได้ลองฝึกฝีมือตัวเอง
ขออนุญาต copy เก็บไว้ B)
โจทย์ปราบเซียนดี ๆ นี่เอง
เดียวจะลองทำกับเพื่อนดู
ใครจะทำได้เยอะขนาดไหน -..-
-
O_O" เจอโจทย์แบบนี้ ถ้าเป็น สมัย ตอนอยุ่ปี 1 นี่กำลัง เป็น topic ที่ ติดchart ในการออก ข้อสอบ + exercises ในตอนนั้นเลย
แบบว่าคิดกันหัวบวม
ก็ถือว่าเป็นกรณีศึกษาที่ดีครับ อีกอย่าง(เพิ่งรุ้ว่า แนว ๆเน้ เค้าออกเกี่ยวกะ ข้อสอบ network ด้วย แหละ )
-
อ่านๆดูแล้ว กระผมก็พอทำได้นะครับ
แต่พอลงมือปฎิบัติ ทำไมไม่ได้ซักข้อ :(
มันดูเหมือนจะง่ายอ่าครับ แต่พอลองทำจริงๆผลมันไม่ออกอย่างที่ควรจะเป็นครับ
มันต้องอาศัยศิลปะเข้าช่วย แต่ถึงยังไงจะลองทำให้ถึงที่สุดครับ
-
สำหรับใครที่ทำได้แล้ว ลองเปลี่ยนโจทย์ข้อ 1
- ให้เราสามารถกำหนดค่าความสูงของสามเหลี่ยมได้เองบ้าง ถ้าโปรแกรมที่เขียนมายืดหยุ่น ก็จะสามารถแก้ปัญหานี้ได้ง่ายขึ้นนะครับ
- ลองคิดโจทย์เป็นแบบ recursive กับแบบทั่วไปดู คิดอย่างไหนได้ อย่างไหนไม่ได้ก็บอกกันบ้าง
ปล. โอกาสหน้าจะหาโจทย์แบบนี้มาให้เพือนๆลองฝึกดูอีกล่ะกัน
-
ไปเอามาจากไหนอะครับ
การแข่งขันครั้งนี้ ผมก็ได้เข้าร่วมด้วย จัดที่มหาวิทยาลัยลาดกระบัง มันผ่านมานานแล้ว จะปีนึงแล้วนะเนี่ย โจทย์นี้เป๊ะๆเลย ให้เวลา 2 ชั่วโมงในการทำ
-
นำมาจากการแข่งขันกีฬา network game ที่ลาดกระบังนั้นแหละครับ
สำหรับผู้ที่ยังไม่ทราบว่ากีฬา network game คืออะไร
กีฬา network game เป็นการแข่งขันกีฬาของสาขาวิทยาการคอมฯ ก็เหมือนกีฬาทั่วไปแหละครับ
แต่มีการเพิ่มทางด้านการเขียนโปรแกรมขึ้นมา แต่ก่อนมีแค่สาขาวิทยาการคอมฯเท่านั้น แต่เด๋วนี้จะมีสาขา IT เข้ามาร่วมด้วย
จัดกันปีละครั้ง สำหรับปีนี้เป็นกีฬา network game ครั้งที่ 15 ไม่แน่ใจว่าจะจัดที่ไหนเหมือนกัน -_-"
ปล. ลาดกระบังใช้ว่า สถาบันนะครับไม่ใช่ มหาวิทยาลัยลาดกระบัง -_-"
-
Oh My God ดูเหมือนมันง่าย แต่ทำไมมัน ทำไม่ได้หว่า
ขอบคุณสำหรับโจทครับ แล้วผมจะพยายาม ทำต่อไป ยากจิบ เห็นบอกให้ทำ แค่ สองชั่วโมงเองหรอ
คนทำได้นี่เก่ง สุดๆ เลยนะเนี้ย :(