banjalukaforum.com https://www.banjalukaforum.com/ |
|
Takmičenja iz programiranja 2009/2010 https://www.banjalukaforum.com/viewtopic.php?f=18&t=49264 |
Stranica 1 od 1 |
Autoru: | Stefke [ 18 Apr 2010, 12:02 ] |
Tema posta: | Takmičenja iz programiranja 2009/2010 |
'ladno prošlo i regionalno i republičko niko-ništa da napiše. Juče je održano republičko iz programiranja na ETF-u. Evo 'vako,u ponedeljak postujem prvih 15,iz moje škole(Tehnička Gradiška) od četvorice su prošla trojica. 4. mjesto-Spasić Zvjezdan 7-13. mjesta-ja(Stefan Savić) 15. mjesto(izvuko se,iako je najbolji od nas)-Nemanja Vidović 22. mjesto-Sukara Miloš(jebiga) Zadaci se mogli riješiti,samo komisija malo čudna bila,al' dobro. Mislim da je Fudin učenik na preliminarnim rezultatima imao 0 bodova,kad se žalio dobio 26 i izbio na 2. mjesto. Da,da 40 bodova je već bilo dovoljno za 1. mjesto. Inače pobjednik je momak iz Doboja,dobio NetBook,mislim da se prezive Maksimović. Ja i Sukara u Pascalu,Spasić i Vidović u C-u. 1. Zadatak Kod: Virahanka(valjda se tako piše) neki stari indijski matematičar,blablablalba, koliko načina na osnovu 2 šablona(L-dužine 1) i (G-dužine 2) može dobiti proizvoljna duž. Niko nije imao sve bodove. 2.Srećni broj Kod: Srećni broj je onaj koji se nakon nekoliko transformacija i to zbirom kvadrata njegovih cifara dođe do broja 1.Ako se ponovo vrati na staro taj broj nije srećan.I sad treba da se nađe najveći srećan broj do proizvoljnog broja(znači do broja koji se unosi u datoteku). To sam uradio dobio svih 15 bodova. 3.Koder Kod: Neka glupost je bila,nemam sad papir kod sebe da to fino napišem,ali uglavnom je bilo nešto sa binarnim ciframa,neki Grejev kod. To je ovaj gore Spasić uradio.To su uglavnom svi uradili koji su bili Tehnička/Elektro škola iznad 3. razreda,pošto se to tada uči.Al' opet mi nismo skontali iz testnih primjera,tako da nemamo šta da se žalimo. 4.Paket I dalje ne kontam kako mi nije priznato barem pola zadatka,čekam baš sad profesora da mi pošalje testne primjere da vidim šta su/sam sjebali/ao.Dakle bilo je ovako: Kod: Paket ima zapreminu V.Predmeta ima M.Svaki predmet ima svoju zapreminu i cijenu.E sad treba odrediti najveću cijenu koju će paket imati ako se strpaju određeni predmeti u njega. Ja sam to odradio preko slogova.Brutal Force,dakle učitam V, i M iz datoteke.Pa onda za svaki predmet učitam njegovu .zapremina i .cijena Ako je zbir zapremina manji ili jednak zapremini paketa onda zbrajam cijenu ta dva predmeta.I normalno sad samo treba da odredim najveću,naravno ako je to veće od maksimalno tad je maksimalno jednako to. I probam ja na svojim primjerima,pa i na ponuđenom primjeru-radi! Sad može biti da je bilo isto ono što je Nemanja uradio kad je snimio neke gluposti na disketu.Ako je to što mislim mogao sam ladno da podijelim prvo mjesto i NetBook popola. ![]() Mada nebitno ja sam srećan i ovako plasmanom na državno. 5.Ribolov Kod: Tekst bolje da ne pričam,dođe ko roman... Uglavnom,eto sad u Sarajevo ko turist,a sledeće godine da oprobam top 5 republičko,i možda top 10 državno. |
Autoru: | Stefke [ 19 Apr 2010, 12:24 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Sad sam pregledao zadatke,nije bilo do komisije, nego do mene. Mislim na ovaj 4. zadatak. |
Autoru: | smoren skolom [ 21 Apr 2010, 08:50 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
ee moze mala pomoc sa zadatkom iz c++, dobio sam zadatak sa kantonalnog takmicenja neznam ni poceti :S, pa et ak ima neko da mi pomogne hitno je ![]() |
Autoru: | Stefke [ 21 Apr 2010, 16:16 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Ja radim u Pascalu,ali napiši ovde zadatak,da probam i ja da ga rešim,a usput i da ti pomognem. Evo dao mi profesor zadatke,pa reko da vam postujem. 1.VIRAHANKA Kod: Virahanka je ime jednog starog indijskog matematičara.Virahanka se bavio rješavanjem problema mjerenja duži pomoću dva šablona različite dužine.Kraći šablon,čija je dužina jednaka 1 označavao je sa L,a duži je jednak dužini 2.Duži je označavao sa G.Postoji više načina na koje se može neke dužina predstaviti. Primjer : D=1 : L - 1 način D=2 : LL,G - 2 načina D=3 : LLL,LG,GL - 3 načina D=4 : LLLL,LLG,LGL,GLL,GG - 5 načina Iz priloženog možete da vidite da je za svaku sledeću duž,broj načina jednak zbiru zadnja 2 načina. Fibonačijev niz Dalje je lako...a ja to nisam uradio na takmičenju. :smajlikojisamsebeudarapotintari: Evo mog koda: Kod: program virahanka; type niz=array[1..1000] of longint; var i,q,d:longint; N:niz; begin readln (d); for i:=1 to d do begin if i=1 then N[i]:=1 else if i=2 then N[i]:=2 else if i=3 then N[i]:=3 else N[i]:=N[i-1]+N[i-2]; q:=N[i]; end; writeln (q); readln; end. 2.SREĆA Kod: Pretpostavimo da je zadat neki prirodan broj.Ako se izračuna zbir kvadrata cifara tog broja dobije se novi prirodan broj.Postupak ponavljamo sve dok zbir ne postane 1.Tada kažemo da je taj broj srećan.Ako se ne može dobiti 1,tad taj broj nije srećan. Program treba da odredi koji je najveći srećan broj do broja n koji se unosi,a da je istovremeno manji od unijetog broja. Lagan zadatak,mnogi ga nisu uradili,nem' blage zašto,da li je zbog treme ili... Uglavnom evo koda: Kod: program sreca; function kvc(n:string):integer; var i,j,zb,br,a:longint; begin zb:=0; begin for i:=1 to length(n) do begin val(n[i],br,a); zb:=zb+sqr(br); end; kvc:=zb; end; end; var i,j,k,x,n,max,zb,p:longint; ul,il:text; h,s:string; begin readln (n); for i:=1 to n do begin k:=0; str(i,s); x:=kvc(s); p:=x; repeat k:=k+1; zb:=x; str(zb,h); x:=kvc(h); until (zb=1) or (k>10); if (zb=1) and (i>max) and (i<n) then max:=i; end; writeln (max); readln; end. E sad pazite,vidite da sam ovaj brojac k stavio do 10.U zadatku piše da je vremensko ograničenje 2 sekunde,malo sam se snašao,pošto ima brojeva kojima treba i više transformacija da se vrate na staro,pa sam eto malo ograničio.Kad sam probao sa 100 000 trebalo mu je oko 5 sekundi da izračuna.Ovako,dosta brže. 3.KODER Kod: Frank Gray(da,da oni smorni uvodi u zadatak :) ) je fizičar poznat po brojnim unapređenjima u oblasti televizije.Patentirao je jedan binarni sistem,koji se po njemu naziva Grejov kod.To je sistem gdje se bilo koja dva uzastopna broja razlikuju u samo jednoj cifri.Danas se ovaj kod koristi za detekciju i korekciju grešaka u nekim TV sistemima. Treba da se unese prirodan broj N(N<1000000) i K(K<25).Dakle program treba da koduje broj N, sa K bita Lično mislim da je loše postavljen zadatak,jer recimo oni koji su ispod 3. razredaElektrotehničke/Tehničke/Saobraćajne škole nisu znali uraditi ovaj zadatak,kao ni svi Gimnazijalci. Uglavnom,ovaj kolega što je osvojio 4. mjesto mi poslije objasnio kako ide ovo "kodovanje",kad sam vidio kako je lagano,malo falilo da se ne ubijem na licu mjesta. Evo malo pojašnjeno,trebate da prvo ovaj broj pretvorite u binarni. E sad prepišete prvu cifru binarnog,i onda sabirate s lijeva na desno. Ako je 0+0=0 . Ako je 0+1=1 . Ako je 1+0=1 . Ako je 1+1=0 . To samo pretvorite u C/C++/Pascal i gotovo,to je bio čitav problem. Kod : Kod: program koder; var t,grej,bin:string; zb,l,g,br,i,j,n,k,x,x1:longint; a:longint; begin writeln ('Prirodan broj koji treba konvertovati?'); readln (n); writeln ('Koliko bitova?'); readln (k); repeat if n>=2 then br:=n mod 2 {konverzija dekadnog u binarni} else br:=n; n:=n div 2; str(br,t); bin:=t+bin; {ide t+bin,jer se rezultat zapisuje od dole,naprema gore} until n=0; l:=length(bin); for i:=1 to l do begin if i>1 then begin val(bin[i],x,a); {konverzija stringa u broj} val(bin[i-1],x1,a); zb:=x+x1; if zb=1 then t:='1' {granicni slucajevi} else if zb=0 then t:='0' else if zb=2 then t:='0'; grej:=grej+t; end; if i=1 then grej:=grej+bin[i]; end; l:=length(grej); {dodavanje nula,odnosno bitova ako nema dovoljno} if l<k then begin repeat grej:='0'+grej; l:=length(grej); until l=k; end; writeln (grej); readln; end. Malo sam pojasnio u samom kodu,da se ne pogubite. ![]() 4.PAKET Kod: Imamo kutije zapremine V.Na raspolaganju imamo M različitih vrsta predmeta,a svaki predmet karakteriša određena zapremina i cijena.Cilj je da kutiju popunimo svim raspoloživim predmetima i da ostvarimo najvredniji paket. Ovaj još nisam uradio,a nisam se ni trudio poslije takmičenja,ovaj kod sam imao na takmičenju,pa ću ga svejedno postovati,inače radi samo ako mogu 2 predmeta da stanu. ![]() Kod: program pak; type paket=record zapremina:integer; cijena:integer; end; type niz=array[1..100] of paket; var i,max,zb,k,v,m,j:integer; ul,il:text; N:niz; begin readln(v,m); for i:=1 to m do begin readln (N[i].zapremina,N[i].cijena); end; begin for i:=1 to m do begin for j:=1 to m do begin if N[i].zapremina+N[j].zapremina<=v then zb:=N[i].cijena+N[j].cijena; if zb>max then max:=zb; end; end; end; writeln(max); end. Ulaz: 8 3 (zapremina i broj predmeta) 3 3 (lijevo zapremina-desno cijena) 4 5 5 8 Izlaz: 11 I zaista ovaj moj kod radi za ovaj primjer,ali... 5.RIBOLOV Kod: Duž neke rijeke postoji niz restorana.Svaki restoran karakteriše broj ulovljenih riba i broj kilometara udaljenih od izvora rijeke.
Ribe mogu da se raspodijele među restoranima.Tokom transporta na svakom kilometru se gubi po jedna riba.Treba da se odredi maksimalan broj osoba koje mogu da budu ugošćene. Primjer: ulaz: 3 (broj restorana) 1 0 (lijevo kilometri,desno ribe) 2 22 4 0 Izlaz: 6 |
Autoru: | Maxo [ 23 Apr 2010, 10:03 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Eh, ajd sad da se i ja oglasim:) Prije svega moram malo braniti "komisiju". Ljudi su lijepo provjeravali unos, tachno onako kako ce biti na drzavnom. Sve je bilo pojashnjeno, zadaci su bili korektno zadani. Ne bih se slozio sa tobom da je treci zadatak bio nekorektan, jer je lijepo objashnjena sushtina Grejovog koda. Mozda je bilo jedino olakshano onima koji su nekada chuli za njega, ali opet - mogao se uraditi i bez poznavanja svega toga: trebalo je samo uochiti da se cifre periodichno ponavljaju. Cetvrti nece raditi greedy pristupom ili bilo kakvim brute-forceom, nego treba koristiti tehniku dinamichkog programiranja. I ribe se chine kao dosta lagan graf, shteta samo shto ih nisam stigo ni prochitat na takmichenju! xD Jedine dvije male zamjerke koje bi svako od nas mogao dati su shto ovakav nachin rada nije bio najavljen(dosta ljudi je padalo samo na uchitavanju iz fajla) i shto prvi(navodno, dakle - nisam lichno provjerio) nije radio chak ni za fibonachija. Sve u svemu - dobra priprema za drzavno, jer oni zadaci koji su bili do sada ne samo da nas ne mogu pripremiti na ono shto ide sledece, nego ne mogu ni napraviti razliku medju takmicharima po njihovom stvarnom znanju. P.S.: Bio bih ti zahvalan da mi proslijedish te testne primjere, da isprobam ove zadatke shto nisam bio uradio na republichkom! Thx unaprijed:)! |
Autoru: | Stefke [ 24 Apr 2010, 18:22 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Ček koji si ti?Koji razred?Grad?Škola?JMBG? ![]() Pa dobro što se tiče komisije lično ovom jednom što se žalio na prvi zadatak samo ga je pitao koji tip je koristio,ovaj reko longint.Kaže njemu da ne radi,a fino radi za prvi testni primjer,znači oštetio ga je za 5 bodova. Mada,opet i to što kažeš,samo sam se iznervirao kad lik sa 0 bodova uđe,izađe sa 26. ![]() Mislim,kako to... Da,da to je bio problem kod moga 4. zadatka,što sam ja koristio BF(omg),konto sam da trebaju samo 2 predmeta da stanu pošto je tamo pisalo A+A,A+B,B+B itd... Da sam skontao ne bi ga znao riješiti,opet bi isto bilo,samo se ne bi džaba žalio,zbog problema ranca kojeg ne znam. Nema problema,evo ti testnih primjera: 1.Virahanka Kod: Test br.1 5 bodova Ulaz1: 21 Izlaz1: 17711 Test br.2 5 bodova Ulaz1: 750 Izlaz1: 3983206532...749 (grubo rečeno ima 160 cifara) 2.Sreća Kod: Test br1. 5 bodova Ulaz: 123 Izlaz: 109 Test br.2 5 bodova Ulaz: 10 000 Izlaz: 9 986 Test br.3 5 bodova Ulaz: 95 000 Izlaz: 94992 3.Koder Kod: Test br.1 5 bodova Ulaz: 255 8 Izlaz: 10000000 Test br.2 5 bodova Ulaz: 12345 16 Izlaz: 0010100000100101 Test br.3 5 bodova Ulaz: 699 050 20 Izlaz: 11111111111111111111 Test br.4 5 bodova Ulaz: 999 000 22 Izlaz: 0010001010000101110100 4.Paket Kod: Test br.1 5 bodova Ulaz: 10 2 (prvi red su ti podaci-lijevo zapremina-desno broj predmeta) 2 3 3 4 Izlaz: 15 (e vidiš ovde može više predmeta da stane,zato moj kod ni ne radi :D ) Test br.2 5 bodova Ulaz: 111 4 2 4 3 5 4 8 5 7 Izlaz: 221 Ostali su ulazOVi nepotpuni,pošto ima puno podataka,pa su samo stavili ...(tri tačke) Uglavnom piše ovako: Test br3. Izlaz:1371 Test br4. Izlaz:2496 Test br5. Izlaz:72 048 5.Ribolov Kod: Ulaz: 3 (prvi broj ti je broj restorana) 5 70 15 100 1200 20 Izlaz: 20 Ulaz: 4 20 300 40 400 340 700 360 600 Izlaz: 415 Ulaz: 5 203 98 359 39 373 93 380 25 874 48 Izlaz: 45 Dalje isti slučaj ko i sa 4.zadatkom Izlaz:611 Izlaz:472 Izlaz:499 Slažem se s tobom oko težine zadataka,i bolje je što su teži.2009 i 2008 bruka bila,pa ono mogu da riješe svi koji imaju iole mozga. Prošle godine sam bio osnovac,da sam ja išao na republičko 2009,pa bio sigurno među prvih 5. Drug mi reče da je otprilike 10 dijelilo prva tri mjesta. Najteži zadatak bio Teorema 153,koja je 10 puta bila na regionalnim i republičkim takmičenjima,nit je težak,nit se dugo piše... Za Fibonačija radi,provjeri moj kod(Pascal),mislim provjeri ovaj 1. testni primjer,a drugi primjer bih mogao srediti,ali mi se ne da pisati ručno sabiranj.Ili ti napiši za C/C++ zavisi na kom radiš.Radi 100% . A u dopisu za školu stoji tamo napomena da će biti učitavanja?! |
Autoru: | Maxo [ 24 Apr 2010, 21:12 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Ja sam Dejan Maksimovic! xD Ma da, ova moja iz ekipe je garant pogrijeshila tip podataka u prvom, a i ono je trebalo vidjet da moze imat 100 cifara, pa i to rijeshit! Eh, a ove ribe nisu tako lagane, valja nazad na to kad se bude imalo vremena... ![]() Hajd' onda, ne daj se, vjezbaj, pa se vidimo na drzavnom, a mozda i ranije(ako bude onih priprema)! |
Autoru: | Stefke [ 25 Apr 2010, 10:36 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Nema problema,svaka čast care! Čestitam ti još jednom. Puno sreće na državnom,ako budu bile pripreme pokazaćeš mi ovaj 4. zadatak! ![]() Baš sam juče lunjao po BL da tražim neku knjigu sa algoritmima,obišao one 3 knjižare u Gospodskoj nema ništa.Vidiću još ovde u gradskoj biblioteci hoće li išta biti,mada čisto sumnjam. |
Autoru: | dsimic [ 02 Maj 2010, 01:17 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Da li ja to nesto ne vidim dobro, ili niko nije imao preko 50 bodova? Jel' i dalje max. broj bodova 100? ![]() |
Autoru: | Stefke [ 02 Maj 2010, 10:22 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Nažalost,dobro vidiš. ![]() Maksimalno je 100 bodova. |
Autoru: | dsimic [ 02 Maj 2010, 14:37 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Da budem iskren, to je krajnje sramotno. ![]() U danasnje vrijeme, kada je hardver veoma lako dostupan i kada za sat vremena i 20KM mozes da dodjes do kolicine literature za koju ti je potrebno pet godina da je u potpunosti procesiras, niko ne uspijeva da osvoji vise od 40 bodova, na relativno jednostavnim zadacima?! Wtf? Pa gdje ide ovaj svijet? Rekao bih, Facebook je izvor svog zla. ![]() |
Autoru: | Stefke [ 02 Maj 2010, 16:18 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Ne znam šta da ti kažem? Koliko godina imaš? Ako si ti student ili tako nešto,možda je i normalno što su ti zadaci ovako "lagani". Što se tiče literature,tu si u pravu.Ali ne može nikome da se sudi,ovi zadnji zadaci su bili teški ,dobro barem meni je bilo teško,jer sam 1. razred. Mislim na ovaj 4. i 5. zadatak.Prva tri su lagana.Ali sve ukupno oni nose tek 45 bodova. A od prošlih godina(barem zadnje dve godine) zadatke bolje da i ne čitam. A što se tiče tog Fejsšita,na tom sranju ni nemam profil. |
Autoru: | dsimic [ 02 Maj 2010, 16:35 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Zadaci su (skoro pa decenijama) na isti kalup -- backtracking + usual know-how i to je to. Ko to savlada, moze da rijesi sta god da se nadje na ovim nasim lokalnim takmicenjima. Ma kakvi studenti, ne zivi u zabludama. ![]() uopste prisao rjesavanju ovakvih zadataka, a kamoli da ih nazove relativno laganim. Spansko selo u bojama, da tako kazem. Naravno, cast malobrojnim izuzecima, ali stanje je takvo. Svojevremeno sam isao po tim takmicenjima, pa znam kako je to. ![]() |
Autoru: | Stefke [ 19 Maj 2010, 20:55 ] |
Tema posta: | Re: Takmičenja iz programiranja 2009/2010 |
Još 10 dana do državnog.Maxo jesi se ti šta pripremao?Šta očekuješ? Inače bile su pripreme,onako nisu bile loše samo da su malo duže trajale.(samo 3 dana bilo,plus mi iz Gradiške morali da putujemo non-stop(što je l' i nije neki problem?)). Ja ništa posebno,malo sam više radio oko C-a pošto vidim da Pascal više niko ne jebe ni 5 %. Malo sam preradio knjigu Algoritmi u programskom jeziku C,ali ništa posebno.(binarno drveće,binarna pretraga i malo backtracking). Sledeće sezone se opasno spremam. ![]() |
Stranica 1 od 1 | Sva vremena su u UTC [ DST ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |