apraksts uzdevumi suutiit jauns statuss rezultati helps apraksts

kugusk Kuģu skaits 2 sek.


 Uzdevums

"Kuģu" spēles laukums sastāv no N*N rūtiņām. Katra rūtiņa var būt brīva vai piederēt kādam kuģim. Ja divas rūtiņas pieder kādam kuģim un tām ir kopīga mala, tad abas rūtiņas pieder vienam un tam pašam kuģim. Dažādiem kuģiem piederošām rūtiņām nav kopīgu punktu. Kuģa tonnāža ir šim kuģim piederošo rūtiņu skaits.

Dotajā piemērā kuģiem piederošās rūtiņas ir iekrāsotas melnas un uz laukuma ir izvietots viens 29-tonnīgs, trīs septiņtonnīgi, divi četrtonnīgi un trīs vientonnīgi kuģi.

Uzrakstiet programmu, kas dotajam laukuma aprakstam nosaka uz tā izvietoto kuģu skaitu un tonnāžu!

 
 Ievaddati

Teksta faila kugusk.dat pirmajā rindā dota naturāla skaitļa N(N<30000) vērtība. Katrā no nākošajām N faila rindām dota informācija par vienu spēles laukuma rindu, pēc kārtas aprakstot kuģiem piederošās rūtiņas no kreisās uz labo pusi vienā no diviem iespējamajiem formātiem:

  • <rūtiņas_kolonas_numurs>  

    , ja šīs kolonnas rūtiņa pieder kuģim, bet rūtiņas pa kreisi un pa labi ir brīvas;
  • <pirmās_rūtiņas_kolonnas_numurs>-<pēdējās_rūtiņas_kolonnas_numurs>
    

    ,ja visas pēc kārtas sekojošās rūtiņas sākot ar pirmo un beidzot ar pēdējo(ieskaitot) pieder kuģim, bet rūtiņas pa kreisi un pa labi no šīs grupas ir brīvas.

Rūtiņu grupas tiek atdalītas ar komatu, katras rindas beigās ir semikols. Faila rindās nav tukšumsimbolu. Ja kādā laukuma rindā nav nevienas kuģim piederošas rūtiņas, tad atbilstošajā rindā failā ir tikai semikols. Ir zināms, ka kuģu kopskaits nepārsniedz 1000 un neviena kuģa tonnāža nepārsniedz 1000.

 
 Izvaddati

Teksta failā kugusk.rez jāizvada informācija par izvietotajiem kuģiem. Katrā rindā jāizvada divi naturāli skaitļi, kas atdalīti ar tukšumsimbolu. Pirmajam skaitlim jābūt kuģa tonnāžai, bet otrajam - kuģu skaitam ar šo tonnāžu. Tonnāžām failā jābūt izvadītām dilstošā secībā un tonnāža jāizvada tikai tad, ja ir vismaz viens kuģis ar šo tonnāžu.

 
 Piemērs

kugusk.datkugusk.rez
12
2-4,7,9;
1,4,11-12;
1,4,10,12;
1,4-8,10-12;
1,8;
1,3-6,8,10-12;
1,3,5-6,8,11;
1,8,10-12;
1-8;
;
2;
2-4,7-10,12;
29 1
7 3
4 2
1 3

 
 Atsauces
Uzdevums izmantots Baltijas 10.informātikas olimpiādē Ventspilī 2004.gadā Autors: Mārtiņš Opmanis

Drukāšanai

 

Copyright © 2001 Girts Folkmanis, LIIS