ราชาแห่งกรุงโรมโบราณกำลังมีปัญหาในการพิจารณาว่าตารางเวทย์มนตร์นั้นถูกต้องหรือไม่เพราะจตุรัสเวทย์มนตร์ที่เขาตรวจสอบนั้นไม่มีตัวแยกใด ๆ ระหว่างตัวเลข เขาได้ว่าจ้างวิศวกรซอฟต์แวร์เพื่อช่วยตรวจสอบว่าตารางเวทมนต์นั้นถูกต้องหรือไม่
ป้อนคำอธิบาย
อินพุตเข้ามาใน STDIN หรืออาร์กิวเมนต์บรรทัดคำสั่ง คุณไม่สามารถป้อนค่าเริ่มต้นล่วงหน้าในตัวแปรได้ (เช่น "โปรแกรมนี้คาดว่าอินพุตจะอยู่ในตัวแปรx
") อินพุตอยู่ในรูปแบบต่อไปนี้:
<top>,<middle>,<bottom>
แต่ละ<top>
, <middle>
และ<bottom>
เป็นสตริงที่จะเท่านั้นที่เคยมีตัวอักษรพิมพ์ใหญ่I
, และV
X
มันจะไม่มีช่องว่างหรือตัวละครอื่น ๆ แต่ละสตริงแสดงตัวเลขโรมันสามตัวดังนั้นจึงเป็นเมทริกซ์ขนาด 3x3 แต่เหล่านี้อาจเลขโรมัน ( แต่ไม่จำเป็น) จะคลุมเครือ อนุญาตให้ฉันอธิบายสิ่งนี้ด้วยตัวอย่าง พิจารณาแถวตัวอย่างต่อไปนี้ของสามตัวอักษรโรมันโดยไม่มีช่องว่างระหว่างแต่ละหมายเลข:
IVIIIIX
เนื่องจากไม่มีช่องว่างระหว่างตัวอักษรจึงมีความเป็นไปได้ที่ตัวเลขสองตัวที่นี่:
- 1, 8, 9 (
I VIII IX
) - 4, 3, 9 (
IV III IX
)
เมื่อคุณพิจารณาว่าทั้งสามแถวของเมทริกซ์อาจเป็นเรื่องน่าสงสัยมีศักยภาพที่จะมีเมทริกซ์ 3x3 ที่แตกต่างกันมากมายจากอินพุตเดี่ยว
โปรดทราบว่าไม่สามารถหาลำดับเช่น 1, 7, 1, 9 ( I VII I IX
) ได้เนื่องจากแต่ละแถวจะแสดงตัวเลขโรมันสามตัวเสมอ นอกจากนี้โปรดทราบว่าตัวเลขโรมันต้องถูกต้องดังนั้นลำดับเช่น 1, 7, 8 ( I VII IIX
) จึงเป็นไปไม่ได้เช่นกัน
คำอธิบายผลลัพธ์
เอาท์พุท:
- จำนวนเต็ม
A
โดยA
เป็นจำนวนเมทริกซ์ 3x3 ที่ไม่ซ้ำกันซึ่งสามารถเกิดขึ้นได้จากการป้อนข้อมูลที่น่าสงสัยและ: - truthyค่าถ้าใด ๆของ matrixes 3x3 ที่ไม่ซ้ำกันในรูปแบบตารางมายากลหรือ:
- falsyค่าถ้าไม่มีของ matrixes 3x3 ที่ไม่ซ้ำกันในรูปแบบตารางมายากล
ค่าความจริงและเท็จจะต้องสอดคล้องกัน พวกเขาคั่นด้วยเครื่องหมายจุลภาค
ต้องการคำอธิบายบางอย่างเกี่ยวกับสิ่งที่นับว่าไม่เหมือนใคร ตราบใดที่เมทริกซ์ไม่ได้มีตัวเลขเท่ากันในตำแหน่งเดียวกันกับเมทริกซ์ที่พบก่อนหน้านี้มันจะนับว่าเป็นค่าที่ไม่ซ้ำ ซึ่งหมายความว่าการสะท้อนแสง ฯลฯ ของเมทริกซ์ที่พบก่อนหน้านี้จะนับว่าไม่เหมือนใคร
ตัวอย่างอินพุตและเอาต์พุต
ในตัวอย่างเหล่านี้ฉันใช้true
เป็นค่าความจริงของฉันและfalse
เป็นค่าเท็จของฉัน
อินพุต: VIIIIVI,IIIVVII,IVIXII
เอาต์พุต: 24,true
(สามเหลี่ยมมายากลคือ 8-1-6, 3-5-7, 4-9-2)
อินพุต: IIIXVIII,IVIII,VIIII
เอาต์พุต:210,false
พิเศษ
- คุณไม่ได้รับอนุญาตให้ใช้ฟังก์ชันการแปลงตัวเลขโรมัน inbuilt หากภาษาที่คุณเลือกมีหนึ่ง