banjalukaforum.com

Dobrodošli na banjalukaforum.com
Danas je 17 Jul 2025, 19:18

Sva vremena su u UTC [ DST ]




Započni novu temu Odgovori na temu  [ 94 Posta ]  Idi na stranicu Prethodni  1, 2, 3, 4, 5  Sledeća
Autoru Poruka
 Tema posta:
PostPoslato: 19 Maj 2005, 14:27 
OffLine
Početnik
Početnik

Pridružio se: 04 Maj 2005, 13:33
Postovi: 91
che.guevara je napisao:
... sve je to na kraju array sort. Sve. I to sa fajlovima, i ovo sa stringovima, i ovo sa ekranom. Sve je to u suštini niz, samo što se pravom nizu pristupa sa niz[index], fajlu sa read(fp, aaa), ekranu sa čim već


potpuno si u pravu, ali razumijes da su ljudi glupi - ja sam recimo na fakultetu imao jedan od ispitnih zadataka: bez upotrebe nizova... nesto slicno. naravno rjesenje je bilo preko pokazivaca (tj. isto nije bilo moguce rjesenje bez upotrebe neke vrste niza).

dakle izaberi sta hoces... fajl, pokazivace... ekran :)


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 19 Maj 2005, 18:20 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
yep ... nažalost :p

svejedno, ja bih opet volio da riješim zadatak na neki "legalan" način...
usput, sad sam se sjetio, mislim da znam ko je pisao zadatke ...
sigurno su sa elektrotehničkog fakulteta neki programeri ... provjeriću :)

vježbam malo za državno ...
ponovio sam knapsack, malo grafove (mcst i najkraći putevi), evo sad malo ponavljam geometriju ... valjda će biti nešto od svega toga :P

ako ćemo gledati logički, tj. indukcijom, neće :P

svejedno, poslije takmičenja idem na :drinking: da se bolje osjećam :wink:


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 19 Maj 2005, 19:00 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Evo čitao sam nekoliko tekstova online ... i evo šta sam zaključio

1. tekst zadatka je pogrešan, pravi tekst je trebao biti "Pronaći M-ti član niza i koliko se puta ponavlja bez sortiranja niza."
2. to je tzv selection problem
3. riješava se particionisanjem niza (quicksort pa po njemu quickselection)
4. maksimalan broj komparacija je n+n/2+n/4, lim = 2N
5. svi profesori nek se dobro naduvaju k*, ovaj, ronhil cigareta i da bog da cr*, živjeli oni nama još sto godina ...

Joj. Majko mila. Jao.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 19 Maj 2005, 20:17 
OffLine
Početnik
Početnik

Pridružio se: 04 Maj 2005, 13:33
Postovi: 91
pa dobro onda je lagan zadatak
a oni su od njega napravili najzesce sranje na svijetu


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 27 Maj 2005, 18:24 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
E ovako...

Provjerio sam sa profesorom Adamovićem sa elektro tehničkog fakulteta i on mi je potvrdio da su oba zadatka sumnjiva (1. i 3.). Evo zajedničkih zaključaka:

za prvi zadatak)
- neispravan je
- to je trebao biti selection problem nad velikim ulazom koji se sporo riješava sortiranjem
- sva naša riješenja su neispravna (jer sve je to opet niz)

za treci zadatak)
- prvi korak bi bio uraditi fill algoritam (pronaći blokove) pa onda u njima tražiti najveći pravougaonik
- taj se problem riješava brute forceom
- našli smo nekoliko optimizacija, ali u opštem slučaju, ovo je NP problem kojem nije mjesto na ovakvom takmičenju i tako sigurno predstavlja još jedan "ispljuv" onoga ko je pisao zadatke :P

Idemo fino, sutra je državno.
Poželite mi sreću BRZO :)
KS neće ići :P


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 27 Maj 2005, 21:33 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 12 Jul 2001, 01:00
Postovi: 457
Lokacija: Banjaluka
Sta moj pretedent i favorit za #1 mjesto ne ide :/ ?!?!
tya gl hf Che zauzmi neko dobro mjesto u ima bl :)

_________________
Ivan M.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Maj 2005, 20:56 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
BHOI je gotov.

Na takmičenje je pozvano 35 učesnika. blablabla

3 zadatka, vrijeme 3 sata
sve uzmite sa rezervom osim informacija o meni koje su "provjerene" :)

dakle:

prvo mjesto, 100% urađeno - neki lik iz Sarajeva
drugo mjesto 80% urađeno - mislim takođe iz Sarajeva
treće mjesto - 66% "naš" momak, iz Modriče
četvrto mjesto - 66% vjerovatno opet neko iz Sarajeva
peto mjesto - 60% che.guevara himself ;)
šesto mjesto je ostalo sporno, biće razigravanje za nedelju dana (između dva lika, jedan iz Sarajeva a drugi iz Tešnja) ...

Eto šta da vam kažem ... Prošao sam na Centralno Evropsku Informatičku Olimpijadu poznatiju pod skraćenicom CEOI. Normalno da mi je drago ;) i siguran sam da bi se i KS plasirao da je došao (tj. ne bi bilo nemoguće, jer su zadaci bili ispod "nivoa")... Dakle, ja sam koliko toliko zadovoljan ... Mnogo sam grešaka pravio pa me i čudi kako prođoh. Više sreće nego pameti...

Nešto o meni... znao sam sve zadatke. Uradio sam prva dva za manje od sat. Ostalo mi je dakle jedan zadatak da uradim za dva sata. I šta da vam kažem ... algoritam sam polako razradio, napisao zadatak i tu sam naišao na problem. Nešto nije valjalo - nekad radi nekad ne radi. I ja razmišljam ovako: "Moram da idem sve ili ništa" ... i ja krenem sa debugovanjem tog zadatka. I sve živo ispreturam i na kraju završim sa zadatkom koji uopšte ne radi i tako na tom 3. dobijem 0 bodova i zamalo ispadnem iz prve šestorke :P Ali eto, moj je utisak da sam mogao imati 100% al jebga, još mi se potkrala mala greškica u prvom tako da sam na kraju imao 18/30 tačnih rezultata.

Malo o ostaloj "djeci".
Izostali su oni koji su prošle godine bili 4. razred. I vjerovatno je zato takmičenje bilo malo lakše nego prošle godine. Jedan od njih je čak bio u komisiji :roll: ... Momak koji je bio prvi, vidjelo se da je posvećen radu i da ima ko da ga uči etc ... zato je lik jedini uradio taj treći i imao 100% ... Ukupno, dva takmičara su iz RS a četiri su iz BiH.

Malo o Doboju:
-fenomenalni ćevapi
-nikakvi igrači warcrafta :wink:
-dobar direktor škole (odličan ručak ;) )
-etc

Malo o zadacima? E to sutra kad se odmorim. Aj vozdra :)

Dakle ... sredinom jula, pravac Mađarska na CEOI :drinking:

PS: Trebaju mi lekcije iz "smirenosti", znate oni budistički fazoni, da kad dođem tamo da budem staložen i skoncentrisan ;)


Volio bih da se zahvalim:
- profesoru Željku Grbiću - na neizmjernoj podršci
- najvećem caru Mladenu Adamoviću - na nemjerljivom vrijednom znanju koje je bez ikakve (novčane) naknade dobrovoljno preneo na mene ;)
- svim ostalima koji su me nervirali dosad = isto ko i dosad, :fist: svi


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Maj 2005, 21:20 
OffLine
Veteran
Veteran

Pridružio se: 12 Jul 2001, 01:00
Postovi: 3131
Lokacija: Kod roditelja
Čestitam, CHE! Mnogo sreće!

_________________
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 28 Maj 2005, 22:12 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 12 Jul 2001, 01:00
Postovi: 457
Lokacija: Banjaluka
Cestitke i obavezno postuj zadatke :)

_________________
Ivan M.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Maj 2005, 10:49 
OffLine
Majstor
Majstor
Korisnikov avatar

Pridružio se: 12 Avg 2001, 01:00
Postovi: 656
Lokacija: Бања Лука
svaka cast !

_________________
НАПРИЈЕД БОРАЦ, БОРАЦ БАЊА ЛУКА ! ! !


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Maj 2005, 11:26 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Hvala Vertygo, r00t i NotNowJohn.

Zadaci... sramota me da kažem (neko bi rekao da su lakši od onih sa regionalnog) ali sto puta su jednostavniji od onih prošle godine što su bili. Al baš. Sad kontam, pa prva dva zadatka - bili su pre lagani - i ko je njih uradio dobro (dakle, da ne "pada" na cakama) i dobio 20/30 bodova, tj 200 bodova, mogao je biti treći! To je i slučaj sa onim iz Modriče.

I još jedna stvar. Znam da ćete svi reći "nije to teško". Jest tako je, ali tamo na takmičenju je drugačije.Trema. Kao prvo, smanjili su nam vrijeme sa četiri sata na tri! Šok1. Kao drugo, na mom računaru nema DevC++, pa krišom instaliram svoj sa CD-a iako je zabranjeno (prošle godine je bilo, a ove izgleda i nije) - Šok2. Dalje, tekstovi zadataka koji smo dobili bili su nejasni. Ne skroz, ali, bilo je pokoja štamparska greška u unosu. Ja napišem riješenje, testiram i daje pogrešan rezultat! Šok3. Poslije pola sata dolazi čova i kaže "ej izvinjavamo me ali ima greškica jedna, heheh".

Itditdit. Računar nije vaš, neko je čak imao Win98! Moj računar je imao miš i tastaturu iz srednjeg vijeka (ali konfiguracija je izgleda bila dobra, možda čak i P3 što je sasvim dovoljno za takav posao). Kad se sve to sabere, plus problemi izvan takmičenja, u glavi vam ništa više nije jasno kao inače i to je to... Pravite glupe greške. Zaboravljate na začkoljice, brkate petlje. Ne pročitate zadatak baš najbolje. Previdite algoritam... Sve se to dešava.

Dobro, sad kad sam pripremio podlogu ;) da ispričam ja te zadatke, svojim riječima, iako će svi oni uskoro biti postavljeni na http://www.bhoi.net .

Zadatak Zgrada
- rang: predškolski ;)

Data je zgrada sa N spratova i N lamela. Ukupno N*N stanova. Svaki stan je numerisan, i to idući slijeva na desno, odozdo prema gore, brojevima od 1 do N*N.
Iz fajla učitati brojeve N i S.
S je broj nekog stana. Pronaći sve "susjede" tog stana. Susjed je onaj stan koji sa stanom S dijeli plafon, pod ili neki od zidova (2).

Primjer ulaza:
3 5
Objašnjenje: (ovo nije u ulazu, već samo pokazuje izgled takve zgrade)
7 8 9
4 5 6
1 2 3
Izlaz:
2
4
6
8

Riješenje
Kod:
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
    ifstream fin("ZGRADA.IN");
    ofstream fout("ZGRADA.OUT");
    long n,s;
    fin>>n;
    fin>>s;
    fin.close();
   
    if (n==1) {// nema komsija
       fout<<"nema susjeda";
       fout.close();
       fin.close();
       return 0;
   }
   
    // donji
    if (s>n)
       fout << s-n << endl;
       
    // gornji
    if (s<=n*n-n)
       fout << s+n << endl;   
   
    // lijevi
    if ((s-1)%n != 0)
       fout << s-1 << endl;
   
    // desni
    if (!(s%n)==0)
       fout << s+1 << endl;
       
    fout.close();
    return 0;   
}


Slijedeći zadatak je Sedlo, njega ću malo kasnije ;) poz.


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Maj 2005, 12:43 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Na dnu ove stranice

http://bhoi.net/bhoi2005/bhoi2005.html

možete da nađete linkove sa zadacima i testnim primjerima - bez riješenja


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Maj 2005, 16:15 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 04 Sep 2003, 15:07
Postovi: 6395
ti si gimnazija? :oops:

Cestitam Che, svaka cast, samo nastavi

_________________
"Baš je dobro kada misliš da živiš u slobodi"


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Maj 2005, 17:18 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Da, hvala. A ti si takođe koliko čujem i to II 11 jel tako?

Sa one stranice čiji sam link dao u prošlom postu, možete da skinete testne primjere za svaki zadatak. Da bi automatski testirali vaše riješenje, napravite izvršnu verziju zadatka (npr zgrada.exe) i stavite je u neki folder. U taj isti folder stavite i ovu skriptu i u njemu napravite folder test i u njega strpajte testne primjere (.in0, .in2 ... .in9 i .ou1, .ou2 ... .ou9). Zatim pokrenite skriptu. Treba vam python instaliran. Radi i na linuxu.

Kod:
import os
import shutil

ime = raw_input("Ime zadatka> ").lower()

cd="test"
for p,ds,fs in os.walk(cd,topdown=False):
    for f in [r.lower() for r in fs]:
        if not f.startswith(ime):
            continue
        if not f[:-1].endswith(".in"):
            continue
        shutil.copyfile(os.path.join(cd,f),ime+".in")
        print "______________%s______________" % (f)
        print "testniprimjer>"
        os.system(ime+".exe")
        o = file(os.path.join(cd,ime+".ou"+f[-1]))   # test
        print o.read()
        o.close()
        print "izlazprograma>"
        o = file(ime+".out")        # program
        print o.read()
        o.close()
        print "----------------------------------"
       
raw_input("KraJ >enter<")


Evo jednog odokativnog riješenja zadatka zamak. To što se ovdje nalazi je riješenje doduše ne radi jer negdje nešto zeza. E ovako sam i na takmičenju uradio i negdje sam nešto "previdio" i nisam stigao da popravim. A sve sam naizgled dobro uradio ...

Kod:
#include <fstream>
#include <queue>

using namespace std;

#define MAX 50

int V[MAX][MAX];   // cvorovi grafa
bool E[MAX][MAX][4];// ivice grafa
int B[MAX][MAX];   // kojem bloku pripada ovo polje?

// 0 - lijevo, 1-gore, 2-desno, 3-dole
// true-ime zid, false-nema zida

int m,n;

void ulaz() {
   // pravi graf od ulaznog fajla
   ifstream fin("zamak.in");
   fin>>m>>n;
   int i,j,t;
   for (i=0; i<m; i++)
      for (j=0; j<n; j++) {
         B[i][j]=-1;   // ne pripada ni jednom
         fin>>t;
         V[i][j]=t;
         E[i][j][0] = (t>>3)>0;
         E[i][j][1] = (t>>2)>0;
         E[i][j][2] = (t>>1)>0;
         E[i][j][3] = (t> 0);
      }      
   fin.close();
}
vector <int> blokovi;

void fill() {
   // radi fill algoritam nad grafom (vrsta BFS-a)
   int blok=-1;
   int i,j;
   while (true) {
      int zblok = blok;
      // nadji slijedeci blok
      for (i=0; i<m, zblok==blok; i++)
         for (j=0; j<n, zblok==blok; j++)
            if (V[i][j] == 0)
               blok++;
      if (blok==zblok)
         break;
      
      bool loop;
      int size=1;
      V[i][j]=size;
      B[i][j]=blok;
      do {
         loop=false;
         for (i=0; i<m; i++)
            for (j=0; j<n; j++)
               if (B[i][j]==blok && V[i][j]==size)   {
                  if (!E[i][j][0]   && V[i][j-1]==0) {
                     loop = true;
                     B[i][j-1]=blok;
                     V[i][j-1]=size+1;
                  }
                  if (!E[i][j][1]   && V[i-1][j]==0) {
                     loop = true;
                     B[i-1][j]=blok;
                     V[i-1][j]=size+1;
                  }
                  if (!E[i][j][2]   && V[i][j+1]==0) {
                     loop = true;
                     B[i][j+1]=blok;
                     V[i][j+1]=size+1;
                  }
                  if (!E[i][j][3]   && V[i+1][j]==0) {
                     loop = true;
                     B[i+1][j]=blok;
                     V[i+1][j]=size+1;
                  }
               }
         size++;
      } while (loop);
      blokovi.push_back(size-1);
   }   
}

void izlaz() {
   ofstream fout("zamak.out");
   int maximum = (-2147483647 - 1);
   int maxkol = 0;
   int maxred = 0;
   int maxzid = 0;
   
   for (int i=0; i<m; i++)
      for (int j=0; j<n; j++)   {
         int mblok = B[i][j];   // kome pripada (i,j)
         int pblok;   // kome pripada blok pored (i,j)
         int z;      // zbir velicina blokova
         
         if (j<n-1) {
            pblok = B[i][j+1];   // desno
            if (E[i][j][2] && pblok!=mblok) {
               z = blokovi[mblok] + blokovi[pblok];
               if (z>maximum) {
                  maxred=i;
                  maxkol=j;
                  maxzid=3;
                  maximum=z;
               }
            }
         }
         
         if (i<m-1) {
            pblok = B[i+1][j];   // dole
            if (E[i][j][3] && pblok!=mblok) {
               z = blokovi[mblok] + blokovi[pblok];
               if (z>maximum) {
                  maxred=i;
                  maxkol=j;
                  maxzid=4;
                  maximum=z;
               }
            }   
         }
      }
   fout<<maxkol<<' '<<maxred<<' '<<maxzid<<endl;
   fout.close();
}

int main() {
   ulaz();
   fill();
   izlaz();   
   return 0;
}



Vrh
 Profil  
 
 Tema posta:
PostPoslato: 30 Maj 2005, 13:05 
OffLine
Stara kuka
Stara kuka
Korisnikov avatar

Pridružio se: 04 Sep 2003, 15:07
Postovi: 6395
II-11 NE.

II-x :wink:

_________________
"Baš je dobro kada misliš da živiš u slobodi"


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 30 Maj 2005, 23:41 
OffLine
Veteran
Veteran

Pridružio se: 01 Jul 2004, 11:47
Postovi: 2624
Che cestitam na plasiranju na CEOI!
I ja sam na raznim takmicenjima imao katkad tremu, zbog koje sam pravio katastrofalne greske ... :( Kad se takmicenje zavrsi, uradim zadatke iz prve - bez ijedne greskice... A imao sam i slucajeva sa pogresno napisanim pitanjima. Sto to zna izvuci zivce - bruka!

Nego, stvarno nemas samokontrole i lako se iznerviras i razbjesnis. To sam ti vec napisao nekoliko puta. Moras malo poraditi na tome...

Btw. zelim ti puno srece i uspjeha na CEOI. Nemoj obrukati BL. :)

_________________
Sve sto sam napisao, slucajno je namjerno ...


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 31 Maj 2005, 14:19 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Hvala druže Digresija :)

Evo KS se upravo čudi kako su zadaci laki ;)
Jel tako KS?
A bio bi čovjek ispred mene da je išao*[o_O)]

Ma, u suštini, negdje imam "out of bounds" grešku samo što je nisam mogao vidjeti, džaba sam pročitao zadatak pedeset puta, kad neće - neće. Zato i volim ove interpretirane jezike poput jave i pythona. Skoro pa samo zbog tog. Što su sigurniji i jednostavniji, lakši err i tako dalje ...

E pa, ja više ne znam čime da vam dosađujem na ovoj temi, takmičenja za ovu godinu su gotova, dok ja odem na taj ceoi (ako) proći će dva mjeseca itd itd itd. Pa predlažem da malo pametujemo ovdje :)

Q: Šta mislite, kako windowsaši popravljaju svoje automobile?
A: Izađu iz auta, pozatvaraju sva vrata i onda ponovo uđu unutra - fixed :)

Q: Kako se na Engleskom kaže "Tri vještice gledaju tri Swatch sata, koja vještica gleda koji swatch sat?"
A: Three witches watch three Swatch watches, which wich watch wich Swatch watch?"

:roll:


Vrh
 Profil  
 
 Tema posta: ...
PostPoslato: 29 Jun 2005, 14:00 
OffLine
Početnik
Početnik

Pridružio se: 20 Jan 2005, 00:43
Postovi: 49
Ev da se i ja javim, sa zakasnjenjem :) Vertygo jebiga nisam mogao ici ekskurzija je bila precha, bolje 9 dana na ex. nego par sati na takmicenju (bar meni), doduse ova ekskurzija unisti jetru (mora da je do spanskog vazduha onog, nisam siguran :)).
So se tice BHOI imao bih prva dva zadatka 100% tacna (poprilicno sam siguran u to), sto ce reci jedno mjesto ispred che-a (mozda bi bilo razigravanje, pa bih ja bio 5-i a on sesti) ili tako nesto.
U svakom slucaju cestitam che, napred nasi, spremaj se sad za to selo u koje ides na takmicenje :)
Poz


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 29 Jun 2005, 22:12 
OffLine
Urednik
Urednik

Pridružio se: 26 Jun 2003, 21:50
Postovi: 2669
Jebiga, ali ja sam bio siguran da ću uraditi sve zadatke 100% pa nisam. Nisi uzeo tremu i loše računare u obzir. Ozbiljno !


Vrh
 Profil  
 
 Tema posta:
PostPoslato: 30 Jun 2005, 08:10 
OffLine
Majstorski kandidat
Majstorski kandidat
Korisnikov avatar

Pridružio se: 12 Jul 2001, 01:00
Postovi: 457
Lokacija: Banjaluka
Hehehe ma los fps rate ;)

_________________
Ivan M.


Vrh
 Profil  
 
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 94 Posta ]  Idi na stranicu Prethodni  1, 2, 3, 4, 5  Sledeća

Sva vremena su u UTC [ DST ]


Ko je OnLine

Korisnici koji su trenutno na forumu: Nema registrovanih korisnika i 1 gost


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
Powered by phpBB® Forum Software © phpBB Group
Hosting BitLab
Prevod - www.CyberCom.rs