Stjernerne på himlen optræder i klynger. En klynge er en ikke-tom mængde af stjerner som er naboer – vandret, lodret eller på skrå. En del af en klynge kan ikke selv være en klynge. | |||||||
Klynger kan være similære.
To klynger er similære hvis de har samme form og samme antal
stjerner – men de kan godt have forskellig orientering.
For en klynge er der op til 8 mulige orienteringer, som det ses i figur 1. |
Figur 1. Otte similære klynger |
||||||
Stjernehimlen repræsenteres ved et stjernekort som er et 2-dimensionalt array af 0’er og 1’er. Et 1-tal står for en stjerne, et 0 betyder "ingen stjerne". | |||||||
Opgave | Givet et stjernekort skal du mærke alle klynger med små bogstaver. Similære klynger skal mærkes med samme bogstav; ikke-similære klynger skal mærkes med forskellige bogstaver. En mærkning af en klynge foretages ved at udskifte samtlige 1-taller i klyngen med det pågældende bogstav. |
Input-data | De første to linjer i filen STARRY.IN
indeholder hver et heltal, henholdsvis W og H, der står
for bredden og højden af stjernekortet.
Selve stjernekortet følger nu i de næste H linjer, der hver indeholder W tegn. |
||||||
Eksempel på input
23
|
I dette tilfælde har stjernekortet bredden 23 og højden 15. For anskuelighedens skyld vises i figur 2 et billede af den tilsvarende stjernehimmel.
|
Output-data | Filen STARRY.OUT skal indeholde det samme stjernekort som STARRY.IN, bortset fra at alle klynger er mærket (som beskrevet i afsnittet Opgave). | ||||||
Eksempel på output
a000a0000000000b0000000
|
Dette output viser en mulig mærkning
af stjernekortet fra inputfilen.
Bemærk at dette output svarer til billedet i figur 3 af stjernehimlen.
|
Begrænsninger | 0
£
W (bredden af stjernekortet) £
100
0 £ H (højden af stjernekortet) £ 100 0 £ Antallet af klynger £ 500 0 £ Antal ikke-similære klynger £ 26 (a..z) 1 £ Antal stjerner pr. klynge £ 160 |