Popunjavanje konture u matrici


Opis zadatka:

Data je matrica formata ne većeg od 30 x 30 čiji su elementi samo 1 i 0. Jedinice u matrici obrazuju tačno jednu povezanu konturu (ne nužno pravilnog oblika). Primjer ovakve matrice dat je na slijedećoj slici:

  000000000011110000
  000011100100001000
  000100011000000100
  000010000000000100
  000010000000000100
  011100000001111000
  100000000010000000
  100000000001100110
  010000000000101010
  001000000000110010
  001001110000000010
  000110001000001100
  000000000111110000
  000000000000000000
Program treba da ispuni jedinicama unutrašnjost konture prisutne u matrici. Tako, za matricu iz gornjeg primjera izlazna matrica treba da bude:

  000000000011110000
  000011100111111000
  000111111111111100
  000011111111111100
  000011111111111100
  011111111111111000
  111111111110000000
  111111111111100110
  011111111111101110
  001111111111111110
  001111111111111110
  000110001111111100
  000000000111110000
  000000000000000000

Ulazna datoteka:

Ulazna datoteka MATRICA.IN je tekstualna datoteka koja će se nalaziti u tekućem direktoriju. Datoteka se sastoji od niza redova u kojima se nalaze samo nule i jedinice, bez praznih znakova između. Svaki red sadrži jednak broj znakova. Nakon svakog reda nalazi se oznaka za novi red (EOL marker). Kraj datoteke označen je oznakom kraja datoteke (EOF markerom).

Izlazna datoteka:

Popunjenu matricu treba smjestiti u tekstualnu datoteku MATRICA.OUT. Ova datoteka treba da se nalazi u tekućem direktoriju poslije izvršavanja programa. Format izlazne datoteke identičan je formatu ulazne datoteke.

Vremensko ograničenje:

Za svaki testni primjer program treba da ponudi rješenje za najviše 5 sekundi.

Primjeri:

MATRICA.IN
000000000011110000
000011100100001000
000100011000000100
000010000000000100
000010000000000100
011100000001111000
100000000010000000
100000000001100110
010000000000101010
001000000000110010
001001110000000010
000110001000001100
000000000111110000
000000000000000000
MATRICA.OUT
000000000011110000
000011100111111000
000111111111111100
000011111111111100
000011111111111100
011111111111111000
111111111110000000
111111111111100110
011111111111101110
001111111111111110
001111111111111110
000110001111111100
000000000111110000
000000000000000000
[Testni podaci]     [Rješenje (Pascal)]     [Rješenje (C++)]

Nazad na izbor zadataka
Nazad na glavnu stranicu