Požární stanice
Zadání
Radní moderního města zjistili, že je zapotřebí vystavět ve městě určitý daný počet N požárních stanic. Město má tvar pravoúhlé obdélníkové sítě, ulice vedou buď směrem severojižním nebo východozápadním. Každá z požárních stanic má stát na některé křižovatce, pro polohu stanic však existují určitá omezení. V každé ulici bude stát nejvýše jedna požární stanice. Předpokládá se, že křižovatka je součástí obou ulic, které se v ní protínají. Dále, stanice nesmí být příliš blízko jedna vedle druhé, platí proto omezení, že každé dvě stanice musí být navzájem vzdáleny alespoň D jednotek, což vždy odpovídá alespoň D−1 křižovatkám na nejkratší cestě mezi těmito stanicemi. Nakonec, radní chtějí celý projekt dokončit za minimální cenu. Náklady na zřízení požární stanice jsou na různých křižovatkách různé a jsou známy pro každou křižovatku.
Úloha
Je dán počet požárních stanic, které se mají vybudovat, jejich minimální možná vzdálenost a pro každou křižovatku náklady na vybudování požární stanice. Určete minimální náklady na vybudování daného počtu požárních stanic za předpokladu, že v každé ulici smí stát jen jedna stanice.
Vstup
První řádek obsahuje čtyři celá kladná čísla H, W, D a N oddělená mezerou představující po řadě počet východozápadních ulic, počet severojižních ulic, minimální možnou vzdálenost dvou požárních stanic a celkový počet požárních stanic, které se mají vybudovat. Následuje H řádků, každý představuje jednu východozápadní ulici. Na každém řádku je uvedeno W celých čísel oddělených mezerami, přičemž k-té číslo na r-tém řádku uvádí náklady na vybudování stanice na křižovatce r-té východozápadní ulice počítáno od severu a k-té severojižní ulice počítáno od západu.
Platí H×W ≤ 100, D, N ≤ 10, ostatní hodnoty nepřesáhnou 1000.
Příklady
Příklad 1
3 3 3 2
30 10 40
6 1 8
20 4 50
28
Data a řešení příkladu 1 jsou znázorněna na obrázku 1a).
Příklad 2
3 3 2 2
30 10 40
6 1 8
20 4 50
10
Data a řešení příkladu 2 jsou znázorněna na obrázku 1b).