3
แชร์ปาร์ตี้วันเกิด
สำนักงาน (เรียกว่า "สำนักงาน") กำลังจะลดเวลาที่เสียไปในปี 2562 โดยรวมงานวันเกิดของสำนักงาน บุคคลสองคนใดที่มีวันเกิดระหว่างวันจันทร์ถึงวันศุกร์ (รวม) ในสัปดาห์เดียวกันจะได้รับการเฉลิมฉลองด้วยปาร์ตี้วันเกิดที่ใช้ร่วมกันในบางครั้งในสัปดาห์นั้น ผู้ที่มีวันเกิดตกในวันเสาร์หรือวันอาทิตย์จะไม่มีปาร์ตี้เลย บางคนไม่ชอบแบ่งปันปาร์ตี้วันเกิดกับคนที่ไม่ได้แบ่งปันวันเกิดจริง พวกเขาจะโกรธมากที่จะมีปาร์ตี้วันเกิดร่วมกัน พวกเราจะไปจำลองสำนักงานและพบว่าในสัปดาห์แรกที่มีคนได้รับโกรธมากเกี่ยวกับพวกเขาที่ใช้ร่วมกันงานเลี้ยงวันเกิด ความท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกหมายเลขสัปดาห์ ISO แรกสำหรับปี 2019 ซึ่งบางคนในสำนักงานจำลองได้โกรธมากเกี่ยวกับงานวันเกิดร่วมของพวกเขาภายใต้กฎพื้นฐานต่อไปนี้: ป้อนจำนวนเต็มN > 1 ซึ่งเป็นจำนวนพนักงานในสำนักงาน ไม่มีวันเกิดตัวเองจะกระจายอย่างสม่ำเสมอที่สุ่ม ม.ค. 01-31 ธันวาคม (ละเว้น 29 กุมภาพันธ์) แต่สัปดาห์การทำงานเพื่อจุดประสงค์ในการกำหนดวันเกิดที่ใช้ร่วมกันคือ 2019 ISO สัปดาห์วันซึ่งอยู่ระหว่าง 2019-W01-1 (2018-12-31) และ 2019-W52-7 (2019-12-29) สัปดาห์ ISO ใหม่จะเริ่มทุกวันจันทร์ (ฉันคิดว่านี่คือทั้งหมดที่คุณต้องรู้เกี่ยวกับ ISO สัปดาห์สำหรับความท้าทายนี้) สำหรับคนNในสำนักงานแต่ละคนมีโอกาส 1/3 ในการมีบุคลิกภาพแบบวันเกิดแชร์โกรธมาก ดังนั้นคุณจะต้องจำลองสิ่งนั้นด้วย แต่พวกเขาจะไม่โกรธถ้ามีการแบ่งปันปาร์ตี้กับคนที่มีวันคล้ายวันเกิด …