|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
ข้อที่ 1 :: จำนวนเฉพาะ |
|
จะกล่าวว่า จำนวนเต็มบวก p เป็นจำนวนเฉพาะถ้ามีจำนวนเต็มบวกจำนวนสองตัวเท่านั้นที่หาร p ลงตัว ให้จำนวนเต็มสองจำนวน A และ B จงหาจำนวนของจำนวนเฉพาะที่มีค่าตั้งแต่ A ถึง B (นับรวม A และ B ด้วย) ข้อมูลนำเข้ามีบรรทัดเดียว ในบรรทัดดังกล่าวระบุจำนวนเต็มสองจำนวน A และ B (1 <= A <= B <= 10,000) ข้อมูลส่งออกมีหนึ่งบรรทัดระบุจำนวนของจำนวนเฉพาะที่มีค่าตั้งแต่ A ถึง B ตัวอย่าง 1ข้อมูลนำเข้า 1 10 ข้อมูลส่งออก 4 ตัวอย่าง 2ข้อมูลนำเข้า 5000 10000 ข้อมูลส่งออก 560 |
ข้อที่2 :: มึนงง |
|
เมื่อเราเขียนคำเดิมซ้ำๆ ติดกันมากๆ เราอาจรู้สึกว่าคำคำนั้นเขียนผิด หรือแม้กระทั่งเขียนผิดไปจริงๆ ให้คำหนึ่งคำ และข้อความที่ประกอบด้วยคำนั้นที่เขียนต่อๆ กัน ให้ตรวจสอบว่าข้อความนั้นสะกดถูกต้องทั้งหมดหรือไม่ ข้อมูลนำเข้าบรรทัดแรกเป็นจำนวนเต็ม N ระบุจำนวนชุดทดสอบ (1 <= N <= 10) 2N บรรทัดต่อมา เป็นชุดทดสอบจำนวน N ชุด แต่ละชุดมี 2 บรรทัด คือ
ทั้งคำ W และข้อความ P ประกอบด้วยตัวอักษรภาษาอังกฤษพิมพ์เล็กเท่านั้น ข้อมูลส่งออกมีทั้งหมด N บรรทัด แต่ละบรรทัดระบุ true ถ้าข้อความ P เป็นข้อความที่เกิดจากคำ W ต่อกันถูกต้องทั้งหมด นอกนั้นให้ระบุ false ตัวอย่างข้อมูลนำเข้า 4 codejom codejomcodejomcodejomcodejomcodejom confuse confuseconfuseconfuseconfuzeconfuse continue continuecontinuecontinueecontinue contra contraisafamousshootinggame ข้อมูลส่งออก true false false false |
ข้อที่3 :: หมาน้อย |
|
หมาน้อยชอบกินขนม เมื่อกินขนม 1 ถุง หมาน้อยจะมีน้ำหนักเพิ่มขึ้น 100 กรัม เจ้าของกลัวว่าหมาน้อยจะอ้วนเกินไป เลยพาไปวิ่ง ทุก ๆ 2 เมตร ที่วิ่งหมาน้อยจะมีน้ำหนักลดลง 1 กรัม (นั่นคือวิ่ง 1 กิโลเมตรจะน้ำหนักลดลง 500 กรัม) เมื่อแรกเริ่ม หมาน้อยหนัก W กรัม เหตุการณผ่านไป N วัน ในวันที่ i สำหรับ 1 < i < N หมาน้อยกินขนมไป Si ถุง และวิ่งไป Ri เมตร (Ri หารด้วย 2 ลงตัว)เราต้องการทราบว่า หมาน้อยจะหนักเท่าใด เมื่อสิ้นสุดวันที่ N งานของคุณ เขียนโปรแกรมรับน้ำหนักเริ่มต้นของหมาน้อย (หน่วยเป็นกรัม) พร้อมด้วยข้อมูลของการกินขนมและการวิ่งของหมาน้อย จากนั้นคำนวณหาน้ำหนักของหมาน้อยเมื่อสิ้นสุดวันสุดท้าย ข้อมูลนำเข้าบรรทัดแรกระบุจำนวนเต็มสองจำนวน N และ W (1 < N < 100; 1 < W < 10,000) โดยที่ N แทนจำนวนวันและ W แทนน้ำหนักเริ่มต้นของหมาน้อย (หน่วยเป็นกรัม) จากนั้นอีก N บรรทัดจะระบุข้อมูลการกินขนมและการวิ่งของหมาน้อย กล่าวคือ ในบรรทัดที่ i สำหรับ 1 < i < N จะระบุจำนวนเต็มสองจำนวน คือ Si และ Ri (0 < Si < 100; 0 < Ri < 10,000) ข้อมูลส่งออกมีหนึ่งบรรทัดเป็นจำนวนเต็มหนึ่งจำนวน แทนน้ำหนักของหมาน้อยเมื่อสิ้นสุดวันที่ N (หน่วยเป็นกรัม) รับประกันว่าตลอดเวลาน้ำหนักของหมาน้อยจะไม่น้อยกว่า 1 กรัม ตัวอย่างข้อมูลนำเข้า 3 1000 3 100 1 0 0 1000 ข้อมูลส่งออก 850 โปรแกรมของคุณต้องทำงานภายในเวลา 1 วินาที และใช้หน่วยความจำไม่เกิน 32 MB |
ข้อที่4 :: นับถอยหลัง |
|
คุณกับเพื่อนเล่นเกมนับถอยหลัง เกมเริ่มต้นด้วยการสมมติจำนวนเต็มหนึ่งจำนวน จากนั้นคุณและเพื่อนจะผลัดกันนับถอยหลัง โดยคุณจะเป็นคนเริ่มก่อน การนับถอยหลังแต่ละครั้งจะลดค่าจำนวนเต็มที่มีอยู่มากขึ้นเรื่อย ๆ กล่าวคือ การนับถอยหลังครั้งที่ j จะลดค่าจำนวนเต็มลง j ด้วย ดังนั้นขั้นตอนในการนับถอยหลังจะเป็นดังนี้ คุณจะนับถอยหลังไป 1, จากนั้นเพื่อนจะนับถอยหลังไป 2, แล้วคุณจะนับถอยหลังไป 3, เพื่อนจะนับถอยหลังไป 4, เป็นเช่นนี้ไปเรื่อย ๆ คุณและเพื่อนจะนับถอยหลังไปจนกระทั่งจำนวนเต็มเป็น 0 หรือน้อยกว่า 0 ตัวอย่างของการเล่นเกม ถ้าเริ่มที่ 50 จะเป็นดังนี้ (ขีดเส้นใต้คือจำนวนเต็มที่เพื่อนของคุณนับ) 49, 47, 44, 40, 35, 29, 22, 14, 5, -5 คุณต้องการทราบว่าคุณเป็นคนที่นับถอยหลังคนสุดท้ายหรือไม่ ในตัวอย่างข้างต้นคำตอบคือไม่ งานของคุณ เขียนโปรแกรมรับจำนวนเต็มเริ่มต้น จากนั้นคำนวณหาว่าคุณเป็นคนที่นับถอยหลังคนสุดท้ายหรือไม่ ข้อมูลนำเข้าบรรทัดแรกระบุจำนวนเต็มหนึ่งจำนวน N (1 < N < 1,000) แทนค่าเริ่มต้น ข้อมูลส่งออกมีหนึ่งบรรทัด ถ้าคุณเป็นคนนับคนสุดท้ายให้พิมพ์ yes ถ้าเพื่อนคุณเป็นคนนับคนสุดท้ายให้พิมพ์ no ตัวอย่างข้อมูลนำเข้า ตัวอย่างข้อมูลนำเข้า 1 50 ตัวอย่างข้อมูลนำเข้า 2 6 ข้อมูลส่งออก ตัวอย่างข้อมูลส่งออก 1 no ตัวอย่างข้อมูลส่งออก 2 yes ในการตรวจให้คะแนน ข้อมูลชุดทดสอบจะถูกแบ่งเป็นกลุ่ม ๆ คุณจะได้คะแนนในแต่ละกลุ่มถ้าตอบทุกข้อมูลชุดทดสอบในกลุ่มนั้น ในแต่ละกลุ่มจะมีชุดทดสอบที่ตอบ yes และที่ตอบ no ดังนั้นโปรแกรมที่ตอบ yes หรือ no เพียงอย่างเดียวจะไม่ได้คะแนน ข้อจำกัดของโปรแกรม :โปรแกรมของคุณต้องทำงานภายในเวลา 1 วินาที และใช้หน่วยความจำไม่เกิน 32 MB |
ข้อที่5 :: ป้ายโฆษณา |
|
ป้ายโฆษณาแสดงตัวเลขประกอบไปด้วยป้ายตัวเลข 1 หลักหลายป้ายต่อกัน ในการแสดงตัวเลขตัวหนึ่ง จะต้องใช้ป้ายที่ประกอบไปด้วยตัวเลขหนึ่งหลักที่ปรากฏในตัวเลขนั้นให้พอ ยกตัวอย่างเช่น ถ้าต้องการแสดงตัวเลข 132317 จะต้องใช้ป้ายเลข 1 สองป้าย ป้ายเลข 3 สองป้าย และป้ายเลข 2 กับ 7 อย่างละหนึ่งป้าย โฆษณาอันหนึ่งต้องการแสดงตัวเลขตั้งแต่ a ถึง b (รวม a และ b ด้วย) โดยจะแสดงทีละตัวเลขเท่านั้น จงคำนวณหาว่า จะต้องเตรียมป้ายของตัวเลขหนึ่งหลักแต่ละตัวไว้อย่างน้อยกี่ป้ายจึงจะสามารถแสดงตัวเลขได้ครบ ข้อมูลนำเข้ามีหนึ่งบรรทัดประกอบไปด้วยจำนวนเต็มสองจำนวน A และ B (1<= A <= B <= 1,000,000) ข้อมูลส่งออกมีทั้งสิ้นหนึ่งบรรทัดประกอบไปด้วยจำนวนเต็ม 10 จำนวน จำนวนเต็มตัวที่ 1 + i สำหรับ 0 <= i <= 9 แทนจำนวนป้ายของตัวเลข i ที่ต้องเตรียมไว้ ตัวอย่างข้อมูลนำเข้า ตัวอย่างข้อมูลนำเข้า 1 1 10 ตัวอย่างข้อมูลนำเข้า 2 1234 5678 ข้อมูลส่งออก ตัวอย่างข้อมูลส่งออก 1 1 1 1 1 1 1 1 1 1 1 ตัวอย่างข้อมูลส่งออก 2 3 3 4 4 4 4 3 3 3 3 ข้อจำกัดของโปรแกรม :โปรแกรมของคุณต้องทำงานภายในเวลา 1 วินาที และใช้หน่วยความจำไม่เกิน 32 MB |
ข้อที่6 :: นกน้อย |
|
คำโบราณว่าไว้ "นกน้อยทำรังแต่พอตัว" สำหรับโจทย์ข้อนี้ นกจะมีขนาดเป็นจำนวนเต็มและทำรังบนพื้นที่ที่มีลักษณะเป็นตาราง นกขนาดต่าง ๆ จะต้องการพื้นที่ทำรังขนาดแตกต่างกัน กล่าวคือ นกขนาด i จะต้องการพื้นที่ทำรังมีลักษณะเป็นพื้นที่ข้าวหลามตัดกว้างและสูง 2i - 1 หน่วย ดังแสดงในตัวอย่างด้านล่าง ..... ..... ..#.. ..... ..#.. .###. ..#.. .###. ##### ..... ..#.. .###. ..... ..... ..#.. (1) (2) (3) รูปด้านบนแสดงลักษณะของพื้นที่ที่นกขนาด 1, 2, และ 3 ใช้ทำรัง ตามลำดับ ส่วนของช่องที่ใช้ทำรังแสดงด้วอักษร `#` พื้นที่สนามที่นกจะทำรังมีขนาดกว้าง N หน่วยและสูง M หน่วย และแบ่งเป้นตารางย่อย ๆ ขนาด 1 x 1 หน่วย จำนวน NM ช่อง ในพื้นที่ดังกล่าว มีบางช่องของตารางที่ไม่เหมาะต่อการทำรังของนก เช่น มีหลุม หรือมีรังแมลงป่องซ่อนอยู่ ดังนั้นในการสร้างรัง จะมีส่วนขอบพื้นที่รูปข้าวหลามตัดของรังนกทับช่องที่ไม่เหมาะสมไม่ได้ งานของคุณ เขียนโปรแกรมรับขนาดของนก แล้วหาว่ามีตำแหน่งที่นกขนาดดังกล่าวสามารถทำรังในสนามได้กี่ตำแหน่ง ข้อมูลนำเข้าบรรทัดแรกของข้อมูลชุดทดสอบจะระบุจำนวนเต็มสามจำนวน N M และ K (1 <= N <= 30; 1 <= M <= 30; 1 <= K <= 10) โดยที่ N และ M แทนความกว้างและสูงของพื้นที่ และ K แทนขนาดของนก รับประกันว่า 2K-1 <= N และ 2K-1 <= M จากนั้นจะตามด้วยข้อมูลของสนามจำนวน M บรรทัด แต่ละบรรทัดเป็นสตริงความยาว N ตัวอักษร โดยจะมีตัวอักษรสองรูปแบบคือ . แทนช่องที่เหมาะสมต่อการทำรัง และ O (ตัวอักษรโอใหญ่) แทนช่องที่ไม่เหมาะสม ข้อมูลส่งออกมีหนึ่งบรรทัดเป็นจำนวนเต็มแทนจำนวนตำแหน่งที่นกสามารถทำรังได้ ตัวอย่างข้อมูลนำเข้าและส่งออก ตัวอย่างข้อมูลนำเข้า ตัวอย่างข้อมูลนำเข้า 1 5 5 2 O.O.O ..... O.O.O ..... O.O.O ตัวอย่างข้อมูลนำเข้า 2 4 3 2 .... .O.. .... ข้อมูลส่งออก ตัวอย่างข้อมูลส่งออก 1 4 ตัวอย่างข้อมูลส่งออก 2 0 ข้อจำกัดของโปรแกรม : โปรแกรมของคุณต้องทำงานภายในเวลา 1 วินาที และใช้หน่วยความจำไม่เกิน 32 MB |





