Pereiti prie turinio

Rekomenduojami pranešimai

Aš (turbūt) daryčiau taip:

 

Eini nuo kairio viršutinio krašto į dešinę (priėjęs eilutės galą leidiesi stulpeliu žemyn) ir tikrini kiekvieną langelį.

- Jei jis juodas - eini į kitą ciklą, kuriame su tarkim BFS suskaičiuoji visus tą salą sudarančius langelius ir pažymi juos kaip baltus.

- - Salų skaičių padidini vienetu.

- - Patikrini ar rasta sala neviršijo prieš tai buvusio maksimalaus dydžio. Jei viršijo - pasižymi šios salos dydį kaip maksimalų.

- Jei baltas - einu toliau. B-)

 

Dydis tik 100x100x10=100.000, tad turėtų laisvai visus testus įveikti per mažiau nei sekundę. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Aš (turbūt) daryčiau taip:

 

Eini nuo kairio viršutinio krašto į dešinę (priėjęs eilutės galą leidiesi stulpeliu žemyn) ir tikrini kiekvieną langelį.

- Jei jis juodas - eini į kitą ciklą, kuriame su tarkim BFS suskaičiuoji visus tą salą sudarančius langelius ir pažymi juos kaip baltus.

- - Salų skaičių padidini vienetu.

- - Patikrini ar rasta sala neviršijo prieš tai buvusio maksimalaus dydžio. Jei viršijo - pasižymi šios salos dydį kaip maksimalų.

- Jei baltas - einu toliau. :D

 

Dydis tik 100x100x10=100.000, tad turėtų laisvai visus testus įveikti per mažiau nei sekundę. B-)

Būtų gerai jei aš mokėčiau tą grafų teoriją :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
O ta apačioj sala, kur tokie 2 prisijungę, tai atskira ar vis dėl to reiktų priskaityt prie tos pačios didesnės?
Priskaityt prie didesnės. Bent jau pavyzdyje priskaityta. Kaip ir visos kitos įstrižai besijungiančių langelių grupės. :D

 

Būtų gerai jei aš mokėčiau tą grafų teoriją B-)
Na paieškas į gylį ir į plotį reiktų išmokti, norint geriau pasirodyti Kazicko konkurse. :D
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki chebra, nekursiu naujos temos. Yra uždavinių B-)

 

1. Parašykite sakinių seką natūraliojo skaičiaus n pirmajam skaitmeniu rasti.

2. Parašykite sakinių seką kuri patikrina ar natūraliojo skaičiaus n skaitmenys sudaro geometrinę progresiją.

 

Čia būtinai reikia su while ciklu. Iš karto ačiū.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
1. Parašykite sakinių seką natūraliojo skaičiaus n pirmajam skaitmeniu rasti.

program prog1;
var x: longint;
begin
readln(x);
while x > 9 do x := x div 10;
writeln(x);
Readln;
end.

 

program prog2;
var x, dal: longint;
k: real;
begin
readln(x);
if (x div 100) = 0 then writeln ('Taip') // Vienaþenklis arba dviþenklis
	else
		begin
			dal := x div 10 mod 10;
			if (dal <> 0) then
				begin
					k := (x mod 10) / dal;
					while (x > 9) and ((x mod 10) = k*(x div 10 mod 10)) do
						x := x div 10;
					if x < 10 then writeln ('Taip')
						else writeln ('Ne');
				end
			else
				writeln('Ne');	  // Jei antras skaitmuo nulis, tai ne
		end;
readln;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Na paieškas į gylį ir į plotį reiktų išmokti, norint geriau pasirodyti Kazicko konkurse. :D

Na nelabai jau spėsiu, penktadienį varau į Druskininkus. Beto Kazicko konkurse spręsti visus uždavinius pakanka mokyklinių žinių (tikėkimės man pakaks) B-)

 

Bėja o koki ten prizai, nes žinau, kad pernai tu kažkuriam konkurse buvai prizininkas :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Na nelabai jau spėsiu, penktadienį varau į Druskininkus. Beto Kazicko konkurse spręsti visus uždavinius pakanka mokyklinių žinių (tikėkimės man pakaks) :D
Na dėl mokyklinių žinių, tai turbūt priklauso nuo mokyklos, nes mes mokykloje tai dar net failų skaitymo/rašymo nesimokom, tad be tokių žinių tikrai nelabai ką ten išspręstume. B-)
Bėja o koki ten prizai, nes žinau, kad pernai tu kažkuriam konkurse buvai prizininkas :D
Aha, pernai Aukštaitijos regione antrą vietą užėmiau. Prizas lyg ir piniginis buvo, berods 2 ar 3 šimtai litų, tiksliai nepamenu.

O pačiame jau finaliniame etape tai nedalyvavau pernai, nes buvau išvykęs į Baltijos šalių informatikos olimpiadą. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Dzūkijos regione šiandien užėmiau antrą vietą :D Dar nelabai suprantu kas atsitiko. Kai Blonskis diplomą teikė net dėkui pasakyti nesugebėjau :D
Šaunuolis! Sveikinu. :)

 

Beje, norėdamas šiek tiek pasiruošti ir aš Kazicko konkursui (Aukštaitija, kitą penktadienį, gal kas dalyvausit? :D), parašiau tą programą, kur klausei, tai įdedu, jei kas norės pasinagrinėti: :D

program u3;
type t_map = array[0..101] of array [0..101] of boolean;
var prad: text;
   map: t_map;
   n, i, j, x, y, nr: integer;
   ch: char;
   salu: integer;
   max_saloje: integer;
   kiek_saloje: integer;


procedure ieskom(x,y: integer; var sk: integer);
var i, j: integer;
begin
   sk := sk+1;
   map[x,y] := false;
   for i := -1 to 1 do
       for j := -1 to 1 do
           if(map[x+i,y+j]) then ieskom(x+i,y+j,sk);
end;

begin
   assign(prad, 'U3.txt');
   reset(prad);
   readln(prad, n);

   for nr := 1 to n do
   begin
   { --- Pradinių duomenų skaitymas --- }
       salu := 0;
       max_saloje := 0;
       readln(prad, x, y);
       for i := 1 to x do
           begin
               for j := 1 to y do
                   begin
                       read(prad, ch);
                       if (ch = '1') then map[i,j] := true
                                     else map[i,j] := false;
                   end;
               readln(prad);
           end;
   { --- Lauko rėminimas --- }
       for i := 0 to x+1 do
           begin
               map[i,0] := false;
               map[i,y+1] := false;
           end;
       for j := 0 to y+1 do
           begin
               map[0,j] := false;
               map[x+1,j] := false;
           end;

   { --- Salų skaičiavimas --- }
       for i := 1 to x do
           for j := 1 to y do
               if (map[i,j]) then
                   begin
                       salu := salu+1;
                       kiek_saloje := 0;
                       ieskom(i,j,kiek_saloje);
                       if (kiek_saloje > max_saloje) then max_saloje := kiek_saloje;
                   end;
       writeln(salu, ' ', max_saloje);
   end;
   close(prad);
   Readln;
end.

Negaliu garantuoti, kad tai pats optimaliausias būdas, bet kažko stebuklingai greitesnio nesugalvoju.

Aišku keletas kosmetinių pataisymų šioje programoje tikrai galimi. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Beje, norėdamas šiek tiek pasiruošti ir aš Kazicko konkursui (Aukštaitija, kitą penktadienį, gal kas dalyvausit? :)), parašiau tą programą, kur klausei, tai įdedu, jei kas norės pasinagrinėti: :D

 

O gal dalyvauji ir kituose olimpiadose? Nes aš savo rajone antrą vietą užėmiau ir patekau toliau į Šiaulių aps. programuotojų olimpiadą.

Redagavo Darexs
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Beje, norėdamas šiek tiek pasiruošti ir aš Kazicko konkursui (Aukštaitija, kitą penktadienį, gal kas dalyvausit? :)), parašiau tą programą, kur klausei, tai įdedu, jei kas norės pasinagrinėti: :D

Dėkui, aš pats pasirašiau be rekursijos, bet būtinai pažiūrėsiu ir tavo būdą.

 

 

O gal dalyvauji ir kituose olimpiadose? Nes aš savo rajone antrą vietą užėmiau ir patekau toliau į Šiaulių aps. programuotojų olimpiadą.

 

Kažką painioji (o gal aš), bet po rajoninės būna Respublikinės pirma dalis, kur sprendimus siunti į serverį Vilniuje ir tada geriausių darbų autorius kviečia į finalą. Beje gal žinot kada vyks ta olimpiada, nes http://ims.mii.lt/olimp kažkodėl neveikia.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...