Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Pregled rezultata glasanja:
MG-RAY 8 22,22%
Stevvan 7 19,44%
Geomaster 4 11,11%
nika100 3 8,33%
GameMaster 2 5,56%
kish 2 5,56%
karloBasic 2 5,56%
EclipsE 2 5,56%
~Raf~ 1 2,78%
aljosaa 1 2,78%
Brains 1 2,78%
corcrash 1 2,78%
Highlander 1 2,78%
ANDROSS 1 2,78%
Marko_L 0 0%
Damjan 0 0%
fingerprint 0 0%
al0cunit 0 0%
BoPe 0 0%
rudar 0 0%
seymourc64 0 0%
x 0 0%
x 0 0%
x 0 0%
Glasova: 36. U ovom glasanju ne možete da učestvujete

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 31.1.2012, 12:53   #1641
Belphegor
V.I.P. Programiranje
 
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
Određen forumom Re: Programming Challenges

Idem da se ubijem momentalno.
Belphegor je offline   Odgovor sa citatom ove poruke
Stara 31.1.2012, 20:03   #1642
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Programming Challenges

Ja imam problem sa učitavanjem podataka na ovaj način iz uputstva.

Nisam uspeo 1. karakter da učitam. Sve ostale učita kako treba, ali mi to ništa ne znači. 1. karakter mi prepoznaje kao neki levi char i kada pokušam da ga parsujem izbaci grešku, jer ga ne prepoznaje kao broj.

Jedino da se ispred svega stavi jedan '\n' ili bilo koji drugi karakter, onda tako hoće da radi.
Todors je offline   Odgovor sa citatom ove poruke
Stara 31.1.2012, 21:19   #1643
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Programming Challenges

Zašto ne učitavaš int po int? (tačnije, po zadatku su koordinate veće ili jednake od 1 i manje ili jednake 1000, tako da možeš i unsigned short)
Pošto po onome što si ranije pričao, ti si čitao linije kao string a onda verovatno splittovao po spaceu i konvertovao u int
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 31.1.2012, 22:53   #1644
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Programming Challenges

^Bojim se da te ne razumem.

C# ne može da učita int direktno iz konzole kao što može kod C/C++ a,

Već jedino preko metoda Console.Read() i Console.ReadLine(), koje vraćaju string i koje moraju da se parsiraju u vrednost.

Problem je samo 1. karakter i ne znam iz kojeg razloga neće da ga učita.
npr. ako je 1. karakter broj 1, .Net ga kapira kao đ.

Evo sad sam probao da sačuvam onaj .txt kao ansi umesto UTF-8, i onda ga lepo čita.
Todors je offline   Odgovor sa citatom ove poruke
Stara 31.1.2012, 23:25   #1645
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: Programming Challenges

Unicode fajlovi na Windowsu, bar koliko sam primetio, svi imaju bajtove FF FE (Unicode byte order mark) i to je verovatno ono što tvoj kod čita.
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 0:08   #1646
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Programming Challenges

Citat:
Todors kaže: Pregled poruke
^Bojim se da te ne razumem.

C# ne može da učita int direktno iz konzole kao što može kod C/C++ a,
Did not know that
Damn C#...
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 0:32   #1647
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Programming Challenges

Nema veze, i onako big2 test rešava preko sat vremena .

Mislio sam da će ovo ići mnogo brže.
Todors je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 0:39   #1648
Belphegor
V.I.P. Programiranje
 
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
Određen forumom Re: Programming Challenges

Citat:
Geomaster kaže: Pregled poruke
Unicode fajlovi na Windowsu, bar koliko sam primetio, svi imaju bajtove FF FE (Unicode byte order mark) i to je verovatno ono što tvoj kod čita.
UTF-8 ne moraju, btw. da ima BOM ne bi ja ima korektne podatke sa unosom pomocu cin-a. Zavisi mozda kako je on ucitavao one fajlove, da li je ubacivao u neki editor koji automatski dodaje BOM ili sta vec? Mada ne verujem zasto bi to radio. A cudi me da je bas đ jer FEFF ili FFFE ne bi trebalo da predstavljaju ni jedan karakter.
Belphegor je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 0:54   #1649
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Programming Challenges

Da budem precizniji, ne đ već ď ili char = -1.

Nešto baguje

Mada mislim da razumem, on ga čuva kao ansi, a učitava kao utf-8, možda je tu problem.
Priloženi fajlovi
Tip fajla: txt rez.txt (3 bajtova, 12 puta viđeno)
Todors je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 1:01   #1650
Belphegor
V.I.P. Programiranje
 
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
Određen forumom Re: Programming Challenges

-1
Citat:
Note that you will not get a property value of -1 unless you perform one of the following actions: simultaneously press the Control modifier key and Z console key (CTRL+Z), which signals the end-of-file condition; press an equivalent key that signals the end-of-file condition, such as the F6 function key in Windows; or redirect the input stream to a source, such as a text file, that has an actual end-of-file character.
http://msdn.microsoft.com/en-us/libr...e.read.aspx#Y0

E sad otkud -1/eof na pocetku?

EDIT: E sad je valjda prosao challenge?
Kad se zaj... prvi put.
Evo ga src:
Kod:
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>

struct coords;
typedef unsigned short int ushort;
typedef unsigned long int ulong;
typedef std::set< coords > my_uq;
ushort X, Y, Z;
ushort*** voxel_matrix;

struct coords
{
    ushort x, y, z;
    ulong lin_inx;

    coords(ushort _x, ushort _y, ushort _z) : x(_x), y(_y), z(_z), lin_inx(x*X*Y+y*X+z) {}

    coords(const coords& o) : x(o.x), y(o.y), z(o.z), lin_inx(o.lin_inx) {}

    coords& operator = (const coords& o)
    {
        x = o.x;
        y = o.y;
        z = o.z;
        lin_inx = o.lin_inx;
        return *this;
    }

    bool operator < (const coords& o) const
    {
        return lin_inx < o.lin_inx;
    }
};

struct greater_size : public std::binary_function<const my_uq&,const my_uq&,bool>
{
    bool operator () (const my_uq& l, const my_uq& r) const
    {
        return l.size() > r.size();
    }
}; 

enum
{
    e_occupied  = 1,
    e_visited   = 2
};

inline bool is_occupied(ushort b)
{
    return b & e_occupied ? true : false;
}

inline bool is_visited(ushort b)
{
    return b & e_visited ? true : false;
}

inline void set_visited(ushort& b)
{
    b |= e_visited;
}

void find_adjacent_voxels(my_uq& sc, const coords& c)
{
    for(int ddx = -1; ddx <= 1; ++ddx)
    {
        for(int ddy = -1; ddy <= 1; ++ddy)
        {
            for(int ddz = -1; ddz <= 1; ++ddz)
            {
                int x = c.x + ddx;
                if(x < 0 || x >= X)
                {
                    continue;
                }
                int y = c.y + ddy;
                if(y < 0 || y >= Y)
                {
                    continue;
                }
                int z = c.z + ddz;
                if(z < 0 || z >= Z)
                {
                    continue;
                }

                coords current(x, y, z);
                
                ushort& vm = voxel_matrix[current.x][current.y][current.z];
                if(!is_visited(vm))
                {
                    set_visited(vm);
                    if(is_occupied(vm))
                    {
                        sc.insert(current);
                        find_adjacent_voxels(sc, current);
                    }
                }
            }
        }
    }

}

int main()
{
    std::cin >> X >> Y >> Z;
    std::vector< my_uq > v_result;
    voxel_matrix = new ushort**[X];
    for(ushort i = 0; i < X; ++i) 
    {
        voxel_matrix[i] = new ushort*[Y];
        for(ushort j = 0; j < Y; ++j)
        {
            voxel_matrix[i][j] = new ushort[Z];
        }
    }

    for(ushort i = 0; i < X; ++i)
    {
        for(ushort j = 0; j < Y; ++j)
        {
            for(ushort k = 0; k < Z; ++k)
            {
                std::cin >> voxel_matrix[i][j][k];
            }
        }
    }

    for(ushort i = 0; i < X; ++i)
    {
        for(ushort j = 0; j < Y; ++j)
        {
            for(ushort k = 0; k < Z; ++k)
            {
                ushort& vm = voxel_matrix[i][j][k];
                if(!is_visited(vm))
                {
                    set_visited(vm);
                    if(is_occupied(vm))
                    {
                        my_uq sc;
                        coords c(i, j, k);
                        sc.insert(c);
                        find_adjacent_voxels(sc, c);
                        v_result.push_back(sc);
                    }
                }
            }
        }
    }

    for(ushort i = 0; i < X; ++i) 
    {
        for(ushort j = 0; j < Y; ++j)
        {
            delete [] voxel_matrix[i][j];
        }
        delete [] voxel_matrix[i];
    }
    delete [] voxel_matrix;

    std::sort( v_result.begin(), v_result.end(), greater_size () );
    std::cout << v_result.size() << std::endl;
    for(std::size_t i = 0; i < v_result.size(); ++i)
    {
        std::cout << v_result[i].size() << std::endl;
    }

    return 0;
}
MG-RAY daj src i ostalo da vidim algo za ovo, zivo me interesuje.

Poslednja ispravka: Belphegor (1.2.2012 u 1:12)
Belphegor je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku Belphegor na korisnoj poruci:
Kosinus (1.2.2012), MG-RAY (1.2.2012)
Stara 1.2.2012, 1:38   #1651
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Smile Re: Programming Challenges

@Belphegor: Da, sada jeste...

Attachovao sam source. C# je u pitanju (fair warning, ima krš delova xD).

Za eventualno brze resenje mozete i ovo da implementirate:
http://en.wikipedia.org/wiki/Connect...onent_labeling

(mene je mrzelo)

Obzirom da si ti pobedio, možeš postaviti sledeći zadatak, ili to prepusti nekom drugom, tvoj izbor... Očigledno da je ovo bilo malo teže nego što sam mislio...

@Todors:

Ne znam odakle si dobio to. Sada sam otvorio .in fajlove u HEX editoru, nijedan nema ništa drugo sem podataka... Pogledaću tvoj source sada na brzaka..
Priloženi fajlovi
Tip fajla: rar Voxels.rar (25,7 KB, 15 puta viđeno)

Poslednja ispravka: MG-RAY (1.2.2012 u 1:52)
MG-RAY je offline   Odgovor sa citatom ove poruke
Sledećih 3 korisnika se zahvaljuje korisniku MG-RAY na korisnoj poruci:
Belphegor (1.2.2012), Kosinus (1.2.2012), zokocx (1.2.2012)
Stara 1.2.2012, 2:04   #1652
Belphegor
V.I.P. Programiranje
 
Član od: 29.8.2007.
Lokacija: Valjevo
Poruke: 1.349
Zahvalnice: 983
Zahvaljeno 371 puta na 280 poruka
Određen forumom Re: Programming Challenges

Ako nije problem, nek' postavi neko drugi sledeci zadatak?
Belphegor je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 2:18   #1653
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: Programming Challenges

Imam slobodnog vremena tek u četvrtak, i imam neku ideju... mada, ako neko ima ideju i može to da realizuje brzo, nek objavi ovde
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 13:55   #1654
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Određen forumom Re: Programming Challenges

Ako neko ima ideju za zadatak, možete je poslati PMom meni / EclipsE-u, ili neka ostavi poruku, da izorganizujemo sve...

Takođe, mislim da bi svi trebali da se složimo oko načina ocenjivanja zadataka. Ideje?

@Todors: Ako ti nije teško, posalji mi svoj source, da vidim u čemu je bio problem.

Poslednja ispravka: MG-RAY (1.2.2012 u 14:10)
MG-RAY je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 16:57   #1655
Kosinus
Član
 
Član od: 3.11.2009.
Lokacija: root_localhost
Poruke: 132
Zahvalnice: 16
Zahvaljeno 20 puta na 12 poruka
Određen forumom Re: Programming Challenges

Svaka cast Belphegor-u za resenje i MG-RAY-u za postavljanje zadatka. Evo mog source-a, cisto da ljudi vide da moze da se uradi i na tezi nacin, a plus i da ne radi za sve primere

Link za source jer je predugacak za post.

Radi na primerima Small 1 i 2.
Kosinus je offline   Odgovor sa citatom ove poruke
Stara 1.2.2012, 19:31   #1656
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Programming Challenges

Citat:
MG-RAY kaže: Pregled poruke
Ako neko ima ideju za zadatak, možete je poslati PMom meni / EclipsE-u, ili neka ostavi poruku, da izorganizujemo sve...

Takođe, mislim da bi svi trebali da se složimo oko načina ocenjivanja zadataka. Ideje?

@Todors: Ako ti nije teško, posalji mi svoj source, da vidim u čemu je bio problem.
Naravno da nije problem .
Priloženi fajlovi
Tip fajla: zip Voxels.zip (1,8 KB, 10 puta viđeno)
Todors je offline   Odgovor sa citatom ove poruke
Stara 2.2.2012, 12:03   #1657
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Određen forumom Re: Programming Challenges

@Todors: Pregledah ti source, imao si jednu liniju viška:

var x = Console.ReadLine().Split(' ');
Time si procitao dimenzije world-a sa ulaza, ali, ispod si uradio ovo:

var voxel = new Voxel(Console.ReadLine().Trim().Split(' '));
Stim sto ti je priogram sada procitao "0 0 0 0 0", umesto dimenzija, obzirom da je to bio sledeći red, tako da je tvoj world bio inicijalizovan na veličinu 0.

Kada iskomentarišeš prvu liniju izgleda da radi.

OK, postavljam novi challenge u sledećoj poruci.
MG-RAY je offline   Odgovor sa citatom ove poruke
Stara 2.2.2012, 12:30   #1658
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Talking Re: Programming Challenges

Šipke

Ovo je još jedan algoritmski zadatak. Njegov autor je Belphegor.


Opis:

Kao zaposleni u jednom stovarištu građevinskog materijala dobili ste narudžbinu da isečete određen broj metalnih šipki na određenu dužinu.
"Sirove" šipke sa lega (polica za materijal) uzimate za obradu i one su takođe određene dužine.

Vaš zadatak je da ih isečete tako da se iskoristi što manji broj celih (sirovih) šipki.

Ulaz:


Podaci se čitaju sa standardnog ulaza. Prva linija sadrži pozitivan ceo broj L koji predstavlja dužinu sirove šipke.

U novom redu sledi broj N, koji označava parova podataka sa zahtevima za sečenje imate.

U svakom novom redu se nalazi N parova, C i W, razdvojenih praznim prostorom, gde je:
C - broj komada koji treba iseći, ceo broj.
W - dužina jednog komada, realni broj sa jednim decimalnim mestom.

(pogledati primer za pojašnjenje)


Izlaz:

Na standardnom izlazu ispisati sledeće:
Broj utrošenih šipki.


Ograničenja:
1 <= L <= 100000
1 <= N <= 100000
1 <= C <= 1000
1.0 <= W <= 1000.0

Podatke ne treba validirati.

Test Primeri:
TODO


Primer:

Spoiler za Ulaz:
15
7
4 7.2
8 2.5
9 1.8
2 5.1
7 1.8
1 12.6
5 3.3



Informacije:
Vaše rešenje u obliku .exe fajla postavite na ovde, na forumu.

Scoring:
Programi će biti testirani sa 10 slučajeva, svaki sa progresivno većim podacima.

Više poena dobija program koji je iskoristio što manje šipki.

Vremensko ograničenje je 30 sec.

Rok:
5. Februar, 23:59:59
(javite ako treba da se produži)
MG-RAY je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku MG-RAY na korisnoj poruci:
doctor (2.2.2012)
Stara 2.2.2012, 20:24   #1659
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Programming Challenges

Citat:
MG-RAY kaže: Pregled poruke
@Todors: Pregledah ti source, imao si jednu liniju viška:

var x = Console.ReadLine().Split(' ');
Time si procitao dimenzije world-a sa ulaza, ali, ispod si uradio ovo:

var voxel = new Voxel(Console.ReadLine().Trim().Split(' '));
Stim sto ti je priogram sada procitao "0 0 0 0 0", umesto dimenzija, obzirom da je to bio sledeći red, tako da je tvoj world bio inicijalizovan na veličinu 0.

Kada iskomentarišeš prvu liniju izgleda da radi.

OK, postavljam novi challenge u sledećoj poruci.
Ah, nisam gledao koje falove šaljem. Poslao sam pogrešne. Tu sam nešto pokušavao da uradim.
Naravno da znam da tako neće da radi.
Todors je offline   Odgovor sa citatom ove poruke
Stara 6.2.2012, 15:07   #1660
MG-RAY
Starosedelac
 
Član od: 15.2.2006.
Lokacija: Midlands
Poruke: 1.523
Zahvalnice: 277
Zahvaljeno 307 puta na 207 poruka
Slanje poruke preko Skypea korisniku MG-RAY
Određen forumom Re: Programming Challenges

I tako je i ovaj challenge završen... Dobio sam samo jedno rešenje, od EclipsE-a, source će biti postavljen na sajtu.

Neka neko postavi sledeći zadatak.
MG-RAY je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Tagovi
challenge, programiranje, takmicenje

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Multithreading in game programming with C++ yaelo Pravljenje igara 0 19.10.2006 1:52


Sva vremena su po Griniču +2 h. Sada je 15:47.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com