ดาว
ในกลุ่มเพื่อนที่โรงเรียนแห่งหนึ่ง กำลังคัดเลือกผู้แทนสองคนเพื่อเป็นผู้แทนในการทำกิจกรรมของโรงเรียน โดยมีเงื่อนไขว่าผู้แทนคนแรกเป็นผู้ที่เพื่อนรักมากที่สุด
ส่วนผู้แทนคนที่สองจะต้องเป็นผู้แทนที่มีเพื่อนรักน้อยที่สุด แต่ เป็นหนึ่งในผู้ที่ผู้แทนคนแรกรัก การคัดเลือกมีกติกาคือทุกคนจะทำการลงคะแนนลับโดยเสนอชื่อ
เพื่อนที่ตนรักได้สองคนเท่านั้น และแน่นอนว่าเพื่อนสองคนที่เลือกนั้นต้องไม่ใช่คนเดียวกันและไม่ใช่ตัวคนเลือกเอง
โจทย์
จงเขียนโปรแกรมเพื่ออ่านข้อมูลนำเข้าว่าเพื่อนคนไหนรักเพื่อนคนไหน แล้วแสดงผลว่าใครคือผู้แทนทั้งคู่ ถ้าหากว่ามีคนที่เพื่อนที่คนรักมากที่สุดมีคะแนนเท่ากันหลายคน
เราสามารเลือกคนใดคนหนึ่งก็ได้ เช่นเดียวกันถ้าผู้ที่มีโอกาสเป็นผู้แทนคนที่สองมีคะแนนเท่ากัน ก็สามารถเลือกคนใดคนหนึ่งก็ได้
ข้อมูลนำเข้า
- บรรทัดแรกของข้อมูลนำเข้าเป็นจำนวนเต็ม n ( 2 < n <= 1000) ซึ่งเป็นจำนวนสมาชิกของกลุ่มเพื่อน
- ใน n บรรทัดถัดไป เป็นข้อมูลของแต่ละคนที่จะบอกว่าตัวเองรักใคร โดนบรรทัดที่ i + 1 จะแสดงข้อมูลว่าสมาชิกหมายเลข i ( 1 <= i <= n) รักเพื่อนสองคนไหนบ้าง
ซึ่งประกอบด้วยจำนวนเต็มสองคำ (คั่นด้วยช่องว่าง) แสดงหมายเลขของเพื่อน
ข้อมูลส่งออก
มีบรรทัดเดียว แสดงจำนวนเต็มสองคำคั่นด้วยช่องว่าง โดนคำแรกคือหมายเลขของผู้แทนที่หนึ่งและสองตามลำดับ
หากมีคำตอบที่เป็นไปได้มากกว่าหนึ่งคำตอบให้เลือกคำตอบใดก็ได้เพียงคำตอบเดียว
ตัวอย่าง
ข้อมูลนำเข้า
|
ข้อมูลส่งออก
|
5
2 3
4 5
2 5
1 3
2 1
|
2 4
|
Credit : แบบฝึกหัดการเขียนโปรแกรมนี้ เป็นแบบฝึกหัดที่ได้มาจากหนังสือ และข้อสอบของมหาวิทยาลัยต่างๆ ขอขอบคุณไว้นะที่นี้ด้วยครับ
Source Code
ถ้าบทความนี้มีคนแชร์ เกิน 10 จะมาเฉลยให้ดูกันนะครับ ^^
แบบฝึกหัดระดับ 1 ดาวอื่นๆ
ตัวย่อ
แก้ว 3 ใบ
ดาว