Pereiti prie turinio

Lietuvos Mokinių informatikos olimpiada


Rekomenduojami pranešimai

Krc,72/80,nepasiseke su dazymu,kazkokia sunki uzduotis pasirode,labai jau prigrybavo su sita salyga... ir siaip luzinejo sistema.. ir dar net sprendimu neikelia..

Dazymas:

#include <iostream>
#include <fstream>
#include <stdlib.h> // abs() funkcija,su cmath kazko neveikia...
std::ifstream fd("dazymas-vyr.in");
std::ofstream fr("dazymas-vyr.out");
/*32 taskai is 40 olimp.mif.vu.lt,nepraeina 3 3 2 1 testo :*/
int main()
{
   int N1,N2,M1,M2,suma1,dienos = 0,loginis = 0,loginis1 = 0;
   fd >> N1 >> N2 >> M1 >> M2;
   suma1 = N1 + N2;
   while(suma1 > 0) // algoritmas
   {
   suma1 -= M1 + M2;
   dienos++;
   }
   dienos = suma1 < 0 && M1 < N1 && M2 > N2 || M2 < N2 && M1 > N1 && abs(N1 + N2 - M1 + M2) < 0 ? dienos = dienos + 1 : dienos; // vietoj daug if'u supaprastintas loginis veiksmas
   dienos = abs((N1 + N2) - ((M1 + M2) * 2)) <= 0 ? dienos = dienos + 1 : dienos; // vietoj daug if'u supaprastintas loginis veiksmas
   loginis = abs((N1 + N2) - ((M1 + M2) * dienos)) == 0 ? loginis = dienos - 1: dienos; // vietoj daug if'u supaprastintas loginis veiksmas
   if(dienos == loginis)
   {
   fr << loginis; //rezultato isvedimas i faila
   }
   else
   {
   fr << dienos; //rezultato isvedimas i faila
   }
}

Dviratininkas:

#include <iostream>
#include <fstream>
#include <stdlib.h> // abs(),su cmath kazkodel neveikia..
/*40 is 40 tasku olimp.mif.vu.lt testavimo sistemoje*/
std::ifstream fd("dviratininkas-vyr.in");
std::ofstream fr("dviratininkas-vyr.out");
int main()
{
   int N = 0,T = 0,minutes = 0,suma = 0;
   fd >> N >> T;
   int T1[N],K1[N];
   for(int i = 0;i < N; i++){fd >> T1[i] >> K1[i];} //failu skaitymai
   while(minutes < T){for(int i = 0;i < N && minutes < T; i++){
   minutes += T1[i];
   suma += minutes > T ? abs(abs(T - minutes) - T1[i]) * K1[i] : T1[i] * K1[i]; // supaprastintas algoritmas vietoj daug if'u
       }
   }
   fr << suma; // rezultatu isvedimas
}

Redagavo geras1
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Del sistemos tai nieko, nesitikejo tokio susidomejimo gal, buna gi :D

 

Deja, padariau tik su dviratininku, dazymo uzduotis kazko pasirode per sunki :D (reiktu gal pradet mokytis ;D ), bet visgi patenkintas savim, nes galim sakyt mokomes be mokytojo...(o namuos dar net FPS neturiu :D )

 

program dviratininkas_vyr;
type Nmas = array[1..10] of integer;
type Tmas = array[1..20] of integer;
var pd,rez:text;
N:integer;
T,i,h,atstumas:integer;
A:Nmas;
B:Tmas;
begin
assign(pd,'dviratininkas-vyr.in');
reset(pd);
Read(pd,N);read(pd,T);
for i:=1 to N do
               begin
               read(pd,A[i]);
               read(pd,B[i]);
               end;
               close(pd);
While T > 0 do
begin
               for i := 1 to N do
               begin
               if T > A[i] then
               begin
               atstumas:= atstumas + A[i]*B[i];
               T:=T-A[i];

               end

               else
               begin
               A[i] := T;
               atstumas:= atstumas + A[i]*B[i];
               T:= T - A[i];
               end


               end;
   end;
   assign(rez, 'dviratininkas-vyr.out');
   rewrite(rez);
   write(rez, atstumas);
   close(rez);
end.

Redagavo lukyzas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Fainai, tik dabar sužinojau, kad egzistuoja ta "varžybų sistema" :D

 

Kiek supratau ten patikrina tavo programa su visais testais ir parašo kiek už kuriuos testus gavai taškų, ir kiek bendrai gavai taškų?

 

Edit: nu va išbandžiau tą sistemą... Gaila, kad anksčiau neatradau..

Redagavo Pattio
Nuoroda į pranešimą
Dalintis kituose puslapiuose

#include <iostream>
#include <fstream>
std::ifstream fd("dazymas-vyr.in");
std::ofstream fr("dazymas-vyr.out");
int main()
{
   int N1,N2,M1,M2,suma1, suma2, dienos;
   fd >> N1 >> N2 >> M1 >> M2;
   suma1 = N1 + N2;
   suma2 = M1 + M2;
   if (M1 >= N1 && M1 >= N2 && M2 >= N1 && M2 >= N2)
       dienos = 1;
   else if (M1 < N1 && M1 < N2 && M2 < N1 && M2 < N2)    {
       dienos = suma1 / suma2;
       if (suma1 % suma2) dienos++;
   }
   else {
       dienos = N1 / suma2;
       if (N1 % suma2) dienos++;
       dienos += N2 / suma2;
       if (N2 % suma2) dienos++;
   }

   fr << dienos;

}

 

Atrodo veikia dazymas toks :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 2 savaičių...
  • po 4 savaičių...

as ir patekau,96/100 tasku,kiek tu Silke surinkai?siais metais reikes pasistengt tau resp.atrankineje dalyje,nes kazicko konkurso nebera.:D

Kaip tai nebėra?! :(

Puslapis šiuo metu tvarkomas.

Aš dar turiu vilčių :D

 

Surinkau 47 ir to užteko būt antram. Net laimėtojas tik 52 surinko... :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

tai kaip tu cia 47 surinkai?as 56/80 surinkau pagal vertinimo sistema.

40 iš įstrižainių ir 7 iš šifro. Čia jau galutinis komisijos vertinimas. O sistema apskritai mano šifro nevertino. Išvis tas uždavinys kažkoks nesusipratimas buvo: lapuose, kuriuos gavom, uždavinys vadinosi "sifravimas-vyr", sistemoje – "sifras-vyr". Programa lokaliai puikiai rašo, o įkėlus – kaip tuščias, taip tuščias failas :) (taip, bandžiau įvairius rezultatų failo vardus)

Redagavo Silke
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ą...