พื้นหลัง
สหรัฐอเมริกามีความรักที่ไม่เหมือนใครของ gerrymandering - การจัดการโดยเจตนาของเขตการเลือกตั้งเพื่อทำนายผลการลงคะแนนบางอย่าง เมื่อไม่นานมานี้มีคดีฟ้องร้องดำเนินคดีต่อศาลฎีกา Gerrymandering โดยเฉพาะอย่างยิ่งเมื่อเกี่ยวข้องกับการแข่งขันถูกปกครองอย่างผิดกฎหมายและส่งผลให้มีความต้องการที่จะวาดเส้นเขต
ให้แผนที่เป็นรูปสี่เหลี่ยมผืนผ้าของเทศบาล (อาร์เรย์ 2d) คุณจะวาดเส้นเขตเพื่อช่วยให้พรรคของคุณได้รับการแสดงมากที่สุด นั่นคือคุณจะร่าเริง ทุกเขตเทศบาลมีสองฝ่าย0
และ1
. แผนที่จะประกอบด้วยสี่เหลี่ยมที่มีอย่างใดอย่างหนึ่ง0
หรือ1
อยู่บนนั้น นี่คือแผนที่ตัวอย่าง:
ท้าทาย
คุณจะจัดกลุ่มแผนที่เป็นอำเภอเพื่อให้1
ปาร์ตี้ได้รับจำนวนอำเภออย่างน้อยตามที่กำหนดโดยอินพุต
อินพุต
ข้อมูลที่ป้อนจะประกอบด้วยแผนที่จำนวนอำเภอที่จะจั่วและจำนวนเขตขั้นต่ำที่1
พรรคต้องชนะ (คะแนนขั้นต่ำ)
เอาท์พุต
ผลลัพธ์จะเป็นแผนที่ของอำเภอ แต่ละเขตจะประกอบด้วยตัวอักษรตัวพิมพ์ใหญ่ที่ไม่ซ้ำกัน ใช่นี่หมายความว่าจะไม่เกิน 26 เขต
หากไม่มีผลลัพธ์ที่เป็นไปได้เมื่อฝ่ายที่ป้อนเข้าชนะหัวเมืองมากพอ:
- พิมพ์“ เราพยายาม ... ”
- ข้อผิดพลาดร้ายแรงเนื่องจากพรรคได้รับบาดเจ็บอย่างไม่สามารถแก้ไขได้โดยผลการเลือกตั้ง
- หรือทั้งคู่
กฎ (สำคัญมากเช่นกัน)
- ทุกอำเภอจะต้องต่อเนื่องกัน
- เขตอาจไม่มีหัวเมืองอื่นในนั้น
- แต่ละอำเภอจะต้องมีอย่างน้อยสี่โหนดในนั้น อินพุตจะสอดคล้องกับกฎซึ่งหมายความว่าจะมี
number_of_districts * 4
โหนดอย่างน้อยในแผนที่ - คะแนนของแต่ละฝ่ายคือจำนวนเขตที่มีส่วนใหญ่
- หากเขตมีจำนวน
0
s และ1
s เท่ากันก็จะไม่ได้รับประโยชน์ใด ๆ - กฎไม่โกงปกติ
- นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ
กรณีทดสอบ
1. Input 1. Output 2. Input 2. Output 3. Input 3. Output
districts: 5 Image and map districts: 3 Image below districts: 3 fatal error
min wins: 3 min wins: 3 min wins: 3
map: map: map:
00000110000 AAAAAAAAAAA 101101 101101
10000010000 AAAAAAAAAAA 100000 100000
10010000011 AAAAAAAAAAA 011011 011011
11001110000 BBBBBBBAAAA 111111 100111
00111111000 BBBBBBBAAAA
01111111000 CCCCCDDDAAA
01111111001 CCCCCDDDAAA
01000111100 EEEEEDDDDDD
00000001000 EEEEEDDDDDD
แน่นอนโปรแกรมของคุณควรใช้กับกรณีทดสอบที่ถูกต้องไม่ใช่เฉพาะกรณีเหล่านี้