banjalukaforum.com
https://banjalukaforum.com/

Takmičenja za školsku godinu 2004/2005
https://banjalukaforum.com/viewtopic.php?f=18&t=13002
Stranica 1 od 5

Autoru:  che.guevara [ 30 Mar 2005, 22:11 ]
Tema posta:  Takmičenja za školsku godinu 2004/2005

Ljudi, u subotu 2. aprila u 10h u Elektro Tehničkoj školi u Banjoj Luci biće održano Regionalno takmičenje iz informatike za banjalučku regiju. Zadaci i riješenja će biti postavljeni ovdje.

Autoru:  [KS] [ 31 Mar 2005, 10:59 ]
Tema posta:  :lol:

Zaboravio si reci "mozda" rjesenja :)
Mozda ih neces znati uraditi :lol:

Autoru:  che.guevara [ 31 Mar 2005, 22:54 ]
Tema posta:  Re: :lol:

[KS] je napisao:
Zaboravio si reci "mozda" rjesenja :)
Mozda ih neces znati uraditi :lol:


Ajde bez zajebancija, ovo bi trebao biti "visokointelektualan" topic !
PS: Da li je to ironija? Koliko se sjećam, prošle godine, ja sam uradio samo pola, a ti nisi ni toliko... Mislim da bi mogao biti malo oprezniji. Znam ja da tu zadaci budu mačiji kašalj i šta već, ali budi oprezan...

Autoru:  Kolja [ 01 Apr 2005, 21:20 ]
Tema posta: 

Ko je prošle godine bio prvi na regionalnom? Znam za pretprošlu, al' za 2003/2004 ne znam... Koja škola? Odakle?

Autoru:  che.guevara [ 02 Apr 2005, 07:45 ]
Tema posta: 

Mislim, jedan momak, visok, iz elektro skole. banjaluka ofc

Autoru:  ~YURI~ [ 02 Apr 2005, 08:42 ]
Tema posta: 

nije na proslom takmicenju je prvo mjesto uzeo neki lik iz teslica
ja sam uzeo drugo mjesto , a latinovic 3.

Autoru:  Digresija [ 02 Apr 2005, 13:19 ]
Tema posta: 

Da li imaju ti rezultati negdje online?

Da li postoji i neko takmicenje za studente i gdje sem ogu vidjeti takvi rezultati?

Autoru:  che.guevara [ 02 Apr 2005, 14:56 ]
Tema posta: 

Takmičenje je završeno, zvanično, prvi je jedan momak kog ne poznajem, drugio je [KS] a treći ja. Razmišljam da li da se žalim profesoru zaduženom za zadatke, ili jednostavno da isquliram jer idem dalje itako i ovako :)

Evo prvog zadatka (zadaci su dati u skraćenoj formi):
20 Bodova
Dat je broj n (moze biti 3 5 i 7). Ispisati sve brojeve sa n cifara koji su dijeljivi sa brojem koji nema srednju cifru.

Primjer, za ulaz 3 izlaz treba biti : 105 108 - jer 105 je djeljivo sa 15 a 108 je djeljivo sa 18 etc.

riješenje:

Kod:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int pow(int);
int main (int argc, char** argv) {
int i;
int k;
int pocetak;
int kraj;
int d;
char s[256];
int srednji;
int n;
printf("Unesi n ");
scanf("%d",&n);

if (n<3 || n>7) {
   printf("\nGreska, 2<n<8 !");
   getch();
   return 0;
}

srednji = (n-1)/2;
pocetak= (int) pow(n-1);
kraj = pocetak*10;

for (i=pocetak; i<kraj; i++) {
   itoa(i,s,10);
   d=0;
   for (k=0; k<n; k++)
     if (k!=srednji) {
       d*=10;
       d+=s[k]-'0';
     }
   /*
   Objasnjenje za citaoce. U slijedecoj liniji, lapsus, napisao sam
   if (i % k == 0) , dakle nekako mi se omaklo i umjesto d napisao sam k
    Zbog ovoga je cijeli zadatak bio netacan :(
  */
   if (i % d == 0)         
     printf("\n%d", i);
}
printf("\nKRAJ");
getch();
}

int pow(int b) {
  int r=1;
  int i;
  for (i=0; i<b; i++)
    r*=10;
  return r;   
}



Drugi zadatak, 35 bodova:
PAZNJA> moje rijesenje kao prvo, ima jednu gresku koju cu pronaci kad budem imao vremena, opet neki lapsus, ali to samo u jednom od cetiri testna primijera.

Zadatak glasi:
Dat je binarni broj (1 0 1 0 1 1 npr). Napisati program koji određuje početnu poziciju, dužinu i broj ponavljanja najduže serije istih cifara.

Kod:
#include <conio.h>
#include <stdio.h>

int main(int argc, char** argv) {
    int ulaz[33];
    char slovo;
    printf("Unesi binarni broj ");
    // ulaz binarnog broja
    int i=0;
    int status=2;
    while (1) {
      scanf("%c",&slovo);
      if (status==2) {
        if (slovo!='1' && slovo!='0') {
          printf("GRESKA U ULAZU\n");
          getch();
          return 0;
        }
        if (i>=32) {
           printf ("maksimalno 32 karaktera!");
            getch();
            return 0;
        }
        ulaz[i]=slovo-'0';
        i++;
      } else if (slovo!=' ') {
        if (slovo=='\n')
          break;
        printf("Unijeto slovo nije space!");
        getch();
        return 0;
      }
      status=3-status; // trik :) kad je status 2 postaje 1 i obrnuto :)
    }
   
    // algoritam

    // naci najduzi niz
    int br = 1;   // broj ponavljanja
    int start = 0;

    int duzina = 1;   
    int cifra=ulaz[0];
    int n=i;
   // prvo naci
    int t=1;            // trenutna duzina
    int lc=ulaz[0];     // zadnje slovo

    if (n==1) {
        printf(": 1 \n1 \n1\n");
        getch();
        return 0;
    }
    for (i=1; i<n; i++) {
        if (ulaz[i]==lc) {
            t++;
            continue;
        }

        if (t>duzina) {
            start = i-t+1;
            duzina = t;
            cifra = lc;
            br=1;
        }
        else if (t==duzina && lc == cifra) {
            br++;
        }
        t=1;
        lc=ulaz[i];     
    }
    printf("%d\n%d\n%d", start, duzina, br);
    getch();
}


Zbog niske inteligencije ljudi koji su ispravljali zadatke, i ovdje je čiko popušio krompir :(
Konačno neki pošten zadatak...

Treći zadatak glasi:

Kod:
#include <conio.h>
#include <stdio.h>

// struktura za opis tacke

typedef struct Tacka {
    int x;
    int y;
} Tacka;

// globalne varijable

short m,n;
int niz[10][10];

// prototipovi funkcija

int algoritam();
void postavi(int,int);
Tacka nadji1();

// glavna funkcija

int main(int argc, char** argv) {
    printf("Unesi M ");
    scanf("%d",&n);
    printf("Unesi N ");
    scanf("%d",&m);
   
    char ch[10];
    int x,y;

    for (y=0; y<n; y++)
        for (x=0; x<m; x++) {
            scanf("%s", &ch);
            if (ch[0]!='0' && ch[0]!='1') {
                printf("Prihvatam samo nule i jedinice!");
                getch();
                return 0;
            }
            niz[x][y]=ch[0]-'0';
        }
   
// algoritam

    int r = algoritam();
    printf("\n%d", r);
    printf("\nKRAJ");
    getch();
}

int algoritam() {
    // prvo da nadjem jednu jedinicu
    Tacka t = nadji1();
   
    if (t.x<0)
        return 0;
   
    // 1. naci blok
    // odrediti velicinu, uporediti sa maksimumom
    // traziti slijedeci blok
    // sve dok ima jedinica
    int max=0;
    int tmp=0;        // trenutni broj jedinica u bloku
    niz[t.x][t.y]=2;  // oznacim jedinicu koju sam nasao
    int check=1;
    int x,y;
    while (1) {
        // petlja za trazenje slijedećeg bloka
       
        do {
            check=-1;
            for (x=0; x<m; x++)
                for (y=0; y<n; y++) {
                    // ako je ova tacka oznacena
                    if (niz[x][y]==2) {
                        niz[x][y]=0;
                        check=1;    // dakle ima ih jos
                        tmp++;
                        postavi(x,y); // onda oznacim i one oko nje
                    }
                }
            max = max>tmp ? max : tmp; // sredjivanje maksimuma
        } while (check!=-1);

        t=nadji1();      // nadji jedinicu
        if (t.x<0)      // ako nema vise jedinica u matrici
            break;
       niz[t.x][t.y]=2;  // a ako ima onda oznaci
      tmp=0;
    }
    return max;
}

Tacka nadji1() {
    int px=-1;
    int py=-1;
    int x,y;
    for (x=0; x<m; x++) {
        for (y=0; y<n; y++)
            if (niz[x][y]==1) {
                px=x; py=y;
                break;      // izadji iz y
            }
        if (px>-1)
            break;          // izadji iz x
    }
    Tacka r;
    r.x=px;
    r.y=py;
    return r;
}

void postavi(int a, int b) {
    niz[a][b]=0;
    int p;

     // slijedeci blokovi su obradjeni u dva if-a, mogao sam sve staviti i u jedan
     // ali to samo ako se uzdam u kvalitet compilera... za svaki slucaj sve je
     // rastavljeno u dva grananja
     
    // gore
    p=b-1;
    if (p >= 0)
        if (niz[a][p]==1) 
            niz[a][p]=2;
       
    // dole
    p=b+1;
    if (p < n)
        if (niz[a][p]==1) 
            niz[a][p]=2;
   
   
       
    // levo
    p = a-1;
    if (p >= 0)
        if (niz[p][b]==1)
         niz[p][b]= 2;
       

    // desno
    p = a+1;
    if (p<m)
        if (niz[p][b]==1)
            niz[p][b]=2;
}



Ovaj zadatak, za divno čudo nekako se desilo da se način razmišljanja njihovog mozga poklopio sa mojim, i tu sam dobio neke bodove 25. I ovdje imam primijedbu, ali neću vas da zamaram, možda kasnije kad se odmorim i budem imao vremena :P

Pozdrav narode, slobodno postavite neko pitanje, ja znam da sam dobio samo četvrtinu bodova :) ali nemojte da me omaložavate zbog toga :D

Autoru:  che.guevara [ 02 Apr 2005, 15:03 ]
Tema posta: 

Evo teksta trećeg zadatka:

Data je matrica MxN (M,N < 10) koja se sastoji samo od jedinica i nula. Ispisati veličinu najvećeg bloka jedinica. Blok je skup elemenata susjednih redova i kolona matrice (dva polja su susjedna ako imaju zajedničku stranu).

Btw, da li sam rekao da su mi ovdje skinuli 20 bodova zbog štamparske greške u NJIHOVIM testnim primijerima :P ?

Autoru:  che.guevara [ 02 Apr 2005, 18:10 ]
Tema posta: 

Evo da referišem.

[b] cilj ovoga nije da ja nekom ovdje nešto dokazujem ili da sebe pravdam, već samo da vidite ko radi i šta radi na ovom takmičenju[\b]

Kao prvo, reći ću vam jednu ČINJENICU... Rad u C++ bio je ZABRANJEN! Moglo se raditi samo u JEBENOM BORLANDOVOM C kompajleru koji je stariji od mene.

Još jedna činjenica... Dozvoljeno mi je da instaliram DevCpp ali da NE KORISTIM niti jednu osobinu C++-a.

OVO JE RETARDIRANO !!! U cijelom svijetu c++ je dozvoljen, a ovdje nije? KOJA BUDALA JE OVO ODREDILA !!! KOJA?

Krenuću od jedinog zadatka u kom sam dobio bar nešto bodova. Ipak nisam sve. Evo gdje je moj program pao:
za ulaz
0 1 1 1 1
0 0 0 1 1
1 1 0 0 1
0 0 0 0 0
1 1 1 0 1

PO NJIMA program treba da da izlaz 12

Moj program kao izlaz daje 7. Mislim da ovdje nešto smrdi. Ili je zadatak dvosmislen ili je 12 štamparska greška. Ako pogledate, najveći blok sa nulama je 12 ali u zadatku jasno piše da treba naći najveći blok jedinica. Samo jedan momak osim mene je radio ovaj zadatak. On nije dobio niti jedan jedini bod. KAKO? Kako pitam se i ja i on. On, možda zato što su mu podvalil BORLAND C star dvadeset godina, bez syntax highlightinga, SA SASVIM NESTANDARDNIM konvencijama (znate onaj stari C, što nije ISO) itd. Momak je pametan ono, kad sam pričao sa njim, algoritam je znao totalno. Ono, vidi se da nije imao problema sa idejom zadatka. Logično je onda da mislim da editor/kompajler u kom je radio nije valjao. Toliko o tome. Tvrdim da tu nešto nije uredu. Ili zadatak, a ako ne zadatak onda sigurno ovaj test.

Drugi zadatak...
Braćo moja, ovo stvarno ne znam kako da vam kažem. Kad sam prijavio žalbu u vezi ovog zadatka dobio sam komentare
Profesorica i ja smo pregledali tvoje riješenje. Radio si preko karaktera. Odmah smo odbacili tvoj rad, dobio si nula bodova

Nakon te nebuloze, uspio sam objasniti gosn Fuadu Šodiću da ulaz MORA biti tekstualni. U tom trenutku nailazi PRAVI problem. Gosn Fuad koji se drži papira koje dobije od "viših organa", donosi ispred mene jedan papir na kom piše slijedeće :

ULAZ:
101110000100

IZLAZ:
6
4
1

+10 bodova

Kaže on meni, kad se ovo unese tvoj program ispiše neku poruku i izađe... Ja uzmem papir sa zadacima i pročitam mu slijedeću rečenicu

Улазни подаци се налазе у текстуалној датотеци Зад2.ин, у једном реду, раздвојени једним размаком.

Pitam ja tog genijalca, "Gdje vam je razmak između brojeva, zašto niste unijeli 1 0 1 1 1 0 0 0 0 1 0 0 ? Gosn Fudo, smrdeći na viski koji je prethodno popio kaže slijedeće

Slušaj ti, šta pričaš vidiš da tu piše ulazna datoteka. Jesam li ja rekao da ulaz treba biti sa tastature!

O bože, još jedan šok za mene. Pokušavam Fudi da objasnim kako taj prvi dio rečenice NEMA VEZE sa ostatkom i kako je ULAZ sa tastature, mreže, fajla, kurca pičke itd u programiranju ISTA STVAR. Što se tiče formata naravno. Džaba, Fudo pokušava da mi objasni da sam ja totalno pogriješio taj zadatak i da nemam šta da tražim.
Tad, nekako, jedan ljubazan gospodin Džombić, pregledao je tekst zadatka. Iako sam očekivao pozitivan odgovor od njega - nisam ga dobio. Očigledno, gospodin nije razumio zadatak ili nije htio da pokvari odnose sa svojim dugogodišnjim kolegom. Nemam ništa protiv njega. Dobar čova, miran i što je najvažnije, izanalizirao je zadatak. Za razliku od ovog Šodića koji je krenuo da lupa čim sam mu rekao 'a'.
I tako vuci potegni - kad je Šoda vidio da nema spasa - hopa, vuče najjaču kartu i kaže - Momak, ti ako hoćeš da se žališ na testne primjere, ti moraš to da vidiš sa Đurom, ja ti ne mogu pomoći...

Sve vrijeme skačem, urlam - pokušavam da u njegov mali veliki mozak uguram nešto i na kraju mi kaže da on tu ništa ne može. Kaže - ovdje u papiru piše 101110000100 a ne 1 0 1 1 1 0 0 0 0 1 0 0. Ja tu ništa ne mogu.

Glupan. Pa u papiru piše bez razmaka jer je onaj ko je pravio zadatke mislio da će neko pametniji od kamena da ispravlja zadatke. Da je gosn fudo pročitao zadatak, znao bi da treba da unese i razmake. Džaba opet, javi se Đuri i gotovo.

Ko je Đura? Gdje je? Đuro, javi se!!! Đura je neki lik kojeg ovdje nema... Pa kako da mu se javim??? Dadoše mi email. Zahvaljujem se gospodinu Džombiću opet. Dobio sam email i sad trebam po Banja Luci da ganjam Đuru... Ajme meni organizacije !!!

Ej, ljudi nemam energije više a čeka me posao... Idem da radim, pozdrav i čuvajte živce ! Bježte od takmičenja grom ga ubio. Eeee...

Autoru:  [KS] [ 03 Apr 2005, 02:47 ]
Tema posta:  Re: :lol:

che.guevara je napisao:
[KS] je napisao:
Zaboravio si reci "mozda" rjesenja :)
Mozda ih neces znati uraditi :lol:


PS: Da li je to ironija? Koliko se sjećam, prošle godine, ja sam uradio samo pola, a ti nisi ni toliko... Mislim da bi mogao biti malo oprezniji. Znam ja da tu zadaci budu mačiji kašalj i šta već, ali budi oprezan...


no comment...

Autoru:  che.guevara [ 03 Apr 2005, 10:00 ]
Tema posta: 

vidiš kako sam predvideo ...

Autoru:  r00t [ 03 Apr 2005, 10:11 ]
Tema posta: 

che.guevara je napisao:
vidiš kako sam predvideo ...


iz koje skole je prvi lik ?

Autoru:  che.guevara [ 03 Apr 2005, 12:26 ]
Tema posta: 

Ne znam. Znam samo da je isto kao [ks] radio vjerovatno na pogrešan način i tako dobio poene na prva dva zadatka. Treći nije imao blage veze.

Autoru:  r00t [ 03 Apr 2005, 18:38 ]
Tema posta: 

r00t je napisao:
che.guevara je napisao:
vidiš kako sam predvideo ...


iz koje skole je prvi lik ?



koliko sam informiran iz mog je razreda :)

pozdrav

Autoru:  Frenki [ 03 Apr 2005, 22:35 ]
Tema posta: 

hehe Vanja prvi bio ....

no coment Srele ...

Veza ,veza ....

Autoru:  Kolja [ 04 Apr 2005, 09:18 ]
Tema posta: 

Ma nijedno takmičenje ne prođe bez toga...

Autoru:  Vertygo [ 04 Apr 2005, 15:45 ]
Tema posta: 

Elektro ownz :)
Fudo ownz :)
Kasnije cu da pregledam zadatke. Che rekao sam ti da ce [KS] biti bolje plasiran od tebe ? Nisam li pogodio :) ? Da li ste bili ograniceni kompajlerima i programskim jezicima ili je bio odredjeni izbor, koliko sati je bilo na raspolaganju za rad ?

Autoru:  Frenki [ 04 Apr 2005, 17:42 ]
Tema posta: 

Vertygo je napisao:
Elektro ownz :)
Fudo ownz :)
Kasnije cu da pregledam zadatke. Che rekao sam ti da ce [KS] biti bolje plasiran od tebe ? Nisam li pogodio :) ? Da li ste bili ograniceni kompajlerima i programskim jezicima ili je bio odredjeni izbor, koliko sati je bilo na raspolaganju za rad ?


Procitaj citav post ,bili su ograniceni na samo BORLANDOV C kompajler a c++ je bio zabranjen :-?

Autoru:  che.guevara [ 04 Apr 2005, 21:33 ]
Tema posta: 

Momak koji je bio prvi je bio pametan, ali nije imao blage veze sa trećim zadatkom. To sam htio da kažem.

Hvala bogu, pa sam ponio sa sobom gcc. Inace bih propao. ALI POGLEDAJTE SAMO KOLIKA JE ŠTETA nanijeta C++ programerima... TO JE NEMJERLJIVO! Mnogi dobri programeri su otišli kućama sa nula bodova jer su većinu vremena proveli mučeći se u dosu (a znate kakvi sve problemi tu nastaju) DOK JE RAJA KOJA JE RADILA PASCAL KORISTILA WIN PASCAL !!!

Oni kazu da se C++ ne moze koristiti jer ko fazon IMA OBJEKTE !!? KRETENI ! NEZNALICE ... NE BI IM DAO NI DA MI CISTE CIPELE

Stranica 1 od 5 Sva vremena su u UTC [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/