Arka fon
Amerika Birleşik Devletleri’nin kendine özgü bir avlanma sevgisi var - bir seçim bölgesinin belirli oy kullanma sonuçlarını öngörmek için kasıtlı olarak manipülasyonu. Daha yakın bir zamanda , Yüksek Mahkeme huzurunda açılan bir gerrymandering davası vardı . Gerrymandering, özellikle ırk ile ilgili olduğunda yasadışı olarak kabul edilir ve bölge sınırlarının yeniden çizilmesi gerekliliği ile sonuçlanır.
Bir belediyenin dikdörtgen haritası (2d dizisi) göz önüne alındığında, partinizin en fazla temsili almasına yardımcı olmak için ilçe çizgileri çizeceksiniz. Yani, sen gerryman olacaksın. Her belediye iki tarafı vardır, 0
ve 1
. Harita, üzerinde 0
veya 1
üzerinde olan karelerden oluşacaktır . Örnek bir harita:
Meydan okuma
Haritayı, bölgelere göre gruplandıracaksınız, böylece 1
taraf en azından Girdi tarafından belirtilen bölge sayısını elde edecek.
Giriş
Girdi bir harita, çekilecek ilçe sayısı ve 1
partinin kazanması gereken asgari ilçe sayısından (asgari puan) oluşacaktır .
Çıktı
Çıktı ilçelerin haritası olacak. Her bölge benzersiz bir şekilde alfabenin büyük harflerinden oluşacaktır. Evet, bu 26'dan fazla ilçenin olmayacağı anlamına geliyor.
Girilen tarafın yeterince ilçe kazandığı yerlerde olası bir çıktı yoksa, ya:
- “Denedim…” yazdır
- Ölümcül hata, çünkü parti seçim sonuçlarıyla onarılamaz şekilde yaralandı
- Ya da her ikisi de
Kurallar (ayrıca çok önemli)
- Tüm bölgeler bitişik olmalı
- İlçelerde başka ilçeler olmayabilir
- Her ilçede en az dört düğüm bulunmalıdır. Girdi kurallarla tutarlı olacak, yani
number_of_districts * 4
haritada en az düğüm olacak - Her bir tarafın puanı, çoğunluğa sahip olduğu ilçelerin sayısıdır.
- Bir bölge aynı sayıda
0
s ve1
s'ye sahipse, taraflardan hiçbiri bundan yararlanamaz. - Normal hile yapma kuralları
- Bu kod golf , bayt cinsinden en kısa kod kazanır.
Test durumları
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
Tabii ki, programınız için çalışması gerektiğini herhangi geçerli bir test durumu, sadece bu olanları.