ข้อเท็จจริงที่ทราบกันเล็กน้อยเกี่ยวกับแวมไพร์คือพวกเขาต้องดื่มเลือดของเหยื่อที่มีกรุ๊ปเลือดของผู้บริจาค เมทริกซ์เข้ากันได้สำหรับแวมไพร์เป็นเช่นเดียวกับปกติสีแดงเม็ดเลือดบริจาค / ผู้รับเมทริกซ์ สามารถสรุปได้ดังต่อไปนี้ตาราง American Red Cross
Type You Can Give Blood To You Can Receive Blood From
A+ A+, AB+ A+, A-, O+, O-
O+ O+, A+, B+,AB+ O+, O-
B+ B+, AB+ B+, B-, O+, O-
AB+ AB+ everyone
A- A+, A-, AB+, AB- A-, O-
O- everyone O-
B- B+, B-, AB+, AB- B- O-
AB- AB+, AB- AB-, A-, B-, O-
ท้าทาย
เขียนฟังก์ชั่นหรือโปรแกรมที่ใช้กรุ๊ปเลือดเป็นอินพุตและเอาต์พุตสองรายการ:
- รายการประเภทที่ไม่เรียงลำดับที่อาจได้รับการบริจาคประเภทอินพุต
- รายการประเภทที่ไม่เรียงลำดับซึ่งอาจมอบเงินบริจาคให้กับประเภทอินพุต
หากคุณเขียนฟังก์ชั่นโปรดให้โปรแกรมทดสอบเพื่อเรียกใช้ฟังก์ชันนั้นด้วยตัวอย่างเล็ก ๆ น้อย ๆ เพื่อให้ฉันสามารถทดสอบได้อย่างง่ายดาย ในกรณีนี้โปรแกรมทดสอบจะไม่นับรวมคะแนนของคุณ
อินพุต
อินพุตต้องเป็นสตริงที่แสดงถึงหนึ่งใน 8 ชนิดของเซลล์เม็ดเลือดแดงที่เป็นไปได้ O−
O+
A−
A+
B−
B+
AB−
AB+
ที่เป็นไปได้ชนิดเม็ดเลือดแดง อาจได้รับการป้อนข้อมูลผ่านวิธีการปกติ (STDIN, args บรรทัดคำสั่ง args ฟังก์ชั่น ฯลฯ )
หากมีการป้อนข้อมูลอื่น ๆ โปรแกรม / ฟังก์ชั่นจะต้องส่งคืนเอาต์พุตเปล่าหรือเกิดข้อผิดพลาด ปกติการตรวจสอบอินพุตอย่างเข้มงวดนั้นไม่ดีในการเขียนโค้ดกอล์ฟคำถามเกี่ยวกับแต่ฉันรู้สึกว่าได้รับผลกระทบจากความตายของการกรุ๊ปเลือดผิดที่ฉันควรเพิ่มกฎนี้
เอาท์พุต
เอาต์พุตจะเป็นรายการกรุ๊ปเลือดสองแบบที่มนุษย์อ่านได้ในรูปแบบใดก็ตามที่เหมาะกับภาษาของคุณ ในกรณีพิเศษที่หนึ่งในรายการผลลัพธ์มีทั้งหมด 8 ชนิดรายการนี้อาจถูกแทนที่ด้วยรายการในรายการเดียวที่มีeveryone
ประเภทรายการนี้อาจเลือกที่จะแทนที่ด้วยรายการรายการเดียวที่มี
เอาท์พุทปกติจะไปที่หนึ่งในสถานที่ปกติ (STDOUT ฟังก์ชั่นกลับมา ฯลฯ )
กฎอื่น ๆ
- ช่องโหว่มาตรฐานถูกแบน
- คุณอาจใช้ไลบรารีบุคคลที่สามใด ๆ ที่มีอยู่ก่อนที่คุณต้องการตราบใดที่ไลบรารีเหล่านั้นไม่ได้ออกแบบมาอย่างชัดเจนเพื่อจุดประสงค์นี้
ตัวอย่าง
- สำหรับอินพุต
AB-
ทั้งสองรายการเอาต์พุตจะเป็น:{AB+, AB-}, {AB-, A-, B-, O-}
- สำหรับอินพุต
AB+
ทั้งสองรายการเอาต์พุตจะเป็น:{AB+}, {O−, O+, A−, A+, B−, B+, AB−, AB+}
หรือ{AB+}, {everyone}
หมายเหตุส่วนบุคคล: โปรดพิจารณาบริจาคเลือดถ้าคุณสามารถ หากไม่มีการถ่ายที่ฉันได้รับเมื่อไม่กี่ปีที่ผ่านมาฉันอาจจะไม่มาที่นี่ในวันนี้ดังนั้นฉันรู้สึกขอบคุณผู้ที่สามารถบริจาคได้มาก!