2
วันที่อะไรอีกครั้ง
ในเว็บไซต์ของฉันผู้ใช้ป้อนวันเดือนปีเกิดในรูปแบบxx.xx.xx- ตัวเลขสองหลักสามตัวคั่นด้วยจุด น่าเสียดายที่ฉันลืมบอกผู้ใช้ว่าต้องใช้รูปแบบใด ทั้งหมดที่ฉันรู้คือส่วนหนึ่งใช้สำหรับเดือนหนึ่งสำหรับวันที่และอีกหนึ่งสำหรับปี ปีแน่นอนในศตวรรษที่ 20 (1900-1999) ดังนั้นรูปแบบวิธีการ31.05.75 31 May 1975นอกจากนี้ฉันสมมติว่าทุกคนใช้ปฏิทินเกรโกเรียนหรือจูเลียน ตอนนี้ฉันต้องการผ่านฐานข้อมูลของฉันเพื่อล้างความยุ่งเหยิง ฉันต้องการเริ่มต้นด้วยการจัดการกับผู้ใช้ที่มีวันที่คลุมเครือมากที่สุดนั่นคือผู้ที่ช่วงวันที่เป็นไปได้ที่ใหญ่ที่สุด ตัวอย่างเช่นวันที่08.27.53หมายถึง27 August 1953ในปฏิทิน Gregorian หรือ Julian วันที่ในปฏิทินจูเลียนเป็น 13 13 daysวันในภายหลังดังนั้นช่วงเป็นเพียง ในทางตรงกันข้ามสัญกรณ์01.05.12สามารถอ้างถึงวันที่เป็นไปได้มากมาย เร็วที่สุดเท่าที่เป็นและล่าสุดคือ12 May 1901 (Gregorian) ช่วงคือ1 May 1912 (Julian)4020 days กฎระเบียบ อินพุตเป็นสตริงในรูปแบบxx.xx.xxโดยที่แต่ละฟิลด์เป็นตัวเลขสองหลักและไม่มีการเติมเบาะ เอาต์พุตคือจำนวนวันในช่วง คุณสามารถสันนิษฐานได้ว่าอินพุตจะเป็นวันที่ที่ถูกต้องเสมอ คุณไม่สามารถใช้ฟังก์ชันวันที่หรือปฏิทินในตัว รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ Testcases 01.00.31 => 12 29.00.02=> 0(ความเป็นไปได้เพียงอย่างเดียวคือ29 February 1900 (Julian)) …