Σελίδα 7 από 14

Re: Hellenico

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 2:36 am
από thetrojan01
ntziris έγραψε:Καλησπέρα (αυτό είναι το 1ο μου ποστ! :D ),
Έλυσα 1ο και 2ο πρόβλημα χωρίς ιδιαίτερη δυσκολία... αλλά στο 3ο εγώ σκέφτηκα κάτι ίσος καλύτερο, πρακτικά γιατί ενώ στο pc μου που έκανα μερικά τεστ είναι όλα οκ... άμα το κάνω υποβολή έχω "Σφάλμα κατάτμησης" σε όλα.

Αυτό λοιπόν που σκέφτηκα είναι το εξής:

[REMOVED by thetrojan01]

πείτε μου αν έχω κάνει κάπου λάθος ;)
Σωστά το σκέφτηκες, αλλά το πρόβλημα δεν είναι εκεί.

Έλεξε
1) Το μέγεθος των πινάκων που χρησιμοποιείς αν είναι αρκετά μεγάλο για όλες τις περιπτώσεις,
2) Το όνομα των αρχείων που ανοίγεις
3) Το τι είδους δεδομένα εισάγεις. Αν όλα συμφωνούν με την εκφώνηση.

Re: Hellenico

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 2:46 am
από ntziris
thetrojan01 έγραψε:
ntziris έγραψε:Καλησπέρα (αυτό είναι το 1ο μου ποστ! :D ),
Έλυσα 1ο και 2ο πρόβλημα χωρίς ιδιαίτερη δυσκολία... αλλά στο 3ο εγώ σκέφτηκα κάτι ίσος καλύτερο, πρακτικά γιατί ενώ στο pc μου που έκανα μερικά τεστ είναι όλα οκ... άμα το κάνω υποβολή έχω "Σφάλμα κατάτμησης" σε όλα.

Αυτό λοιπόν που σκέφτηκα είναι το εξής:

[REMOVED by thetrojan01]

πείτε μου αν έχω κάνει κάπου λάθος ;)
Σωστά το σκέφτηκες, αλλά το πρόβλημα δεν είναι εκεί.

Έλεξε
1) Το μέγεθος των πινάκων που χρησιμοποιείς αν είναι αρκετά μεγάλο για όλες τις περιπτώσεις,
2) Το όνομα των αρχείων που ανοίγεις
3) Το τι είδους δεδομένα εισάγεις. Αν όλα συμφωνούν με την εκφώνηση.
hmm... νομίζω είναι οκ, αλλά για δες κι εσυ:
Spoiler: show
X8rm3igg
//by tt01

Re: Hellenico

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 2:58 am
από kernelpanic
Κοίτα πολύ προσεκτικά τους πίνακες και τους δείκτες που χρησιμοποιείς, βήμα βήμα, και με ελέγχους σε κάθε ένα βήμα για το τι θα έπρεπε να ισχύει.

Re: Hellenico

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 3:03 am
από thetrojan01
ntziris έγραψε: hmm... νομίζω είναι οκ, αλλά για δες κι εσυ:
ΜΗΝ ΦΩΝΑΖΕΙΣ ΤΙΣ ΛΥΣΕΙΣ ΣΟΥ! :)
(έρχεται απάντηση...)

Re: Hellenico

Δημοσιεύτηκε: Παρ Δεκ 31, 2010 3:10 am
από ntziris
thetrojan01 έγραψε:
ntziris έγραψε: hmm... νομίζω είναι οκ, αλλά για δες κι εσυ:
ΜΗΝ ΦΩΝΑΖΕΙΣ ΤΙΣ ΛΥΣΕΙΣ ΣΟΥ! :)
(έρχεται απάντηση...)
ok :D sry για τον εμφανή κώδικα (δεν έχω διαβάσει ακόμα τους κανόνες)

περιμένω για καμιά απάντηση :roll:

Re: Hellenico

Δημοσιεύτηκε: Σάβ Ιαν 29, 2011 3:03 pm
από Κηπουρίδης
Καινούρια προβλήματα στὸ Hellenico, γιὰ ὅποιον ἐνδιαφέρεται:D.

Re: Hellenico

Δημοσιεύτηκε: Σάβ Ιαν 29, 2011 5:09 pm
από sotiris
Κηπουρίδης έγραψε:Καινούρια προβλήματα στὸ Hellenico, γιὰ ὅποιον ἐνδιαφέρεται:D.
Θα μπουν και άλλα από όσο μου είπε ο Γιάννης :D

Re: Hellenico

Δημοσιεύτηκε: Κυρ Φεβ 06, 2011 7:24 pm
από Κηπουρίδης
Ἰδιαίτερα θετικὸ γιὰ τὸ hellenico θὰ ἤταν νὰ ἔχει καὶ ἕνα analysis σὰν τὸ usaco, ἀφοὺ λύσεις τὸ πρόβλημα, γιὰ νὰ μαθαίνουμε καὶ τίποτα ( πχ τὸ qubits ποὺ ἤθελε
Spoiler: show
ἀναδρομή
... ἐγὼ τὸ ἔκανα ὅσο πιὸ ἰδιόρρυθμα γίνεται, χωρὶς
Spoiler: show
ἀναδρομή
, μὲ κάτι κανόνες ποὺ ἔβγαζα ἀπὸ τὸ μυαλό μου ).
Θὰ χαρῶ νὰ βοηθήσω ἂν μπορῶ.

Re: Hellenico

Δημοσιεύτηκε: Δευ Φεβ 07, 2011 10:41 pm
από thetrojan01
Κηπουρίδης έγραψε:Ἰδιαίτερα θετικὸ γιὰ τὸ hellenico θὰ ἤταν νὰ ἔχει καὶ ἕνα analysis σὰν τὸ usaco, ἀφοὺ λύσεις τὸ πρόβλημα, γιὰ νὰ μαθαίνουμε καὶ τίποτα ( πχ τὸ qubits ποὺ ἤθελε
Spoiler: show
ἀναδρομή
... ἐγὼ τὸ ἔκανα ὅσο πιὸ ἰδιόρρυθμα γίνεται, χωρὶς
Spoiler: show
ἀναδρομή
, μὲ κάτι κανόνες ποὺ ἔβγαζα ἀπὸ τὸ μυαλό μου ).
Θὰ χαρῶ νὰ βοηθήσω ἂν μπορῶ.
Το qubits ήταν κλασσικός
Spoiler: show
Πιπέεερι :)

Re: Hellenico

Δημοσιεύτηκε: Δευ Φεβ 07, 2011 11:18 pm
από Κηπουρίδης
thetrojan01 έγραψε:
Κηπουρίδης έγραψε:Ἰδιαίτερα θετικὸ γιὰ τὸ hellenico θὰ ἤταν νὰ ἔχει καὶ ἕνα analysis σὰν τὸ usaco, ἀφοὺ λύσεις τὸ πρόβλημα, γιὰ νὰ μαθαίνουμε καὶ τίποτα ( πχ τὸ qubits ποὺ ἤθελε
Spoiler: show
ἀναδρομή
... ἐγὼ τὸ ἔκανα ὅσο πιὸ ἰδιόρρυθμα γίνεται, χωρὶς
Spoiler: show
ἀναδρομή
, μὲ κάτι κανόνες ποὺ ἔβγαζα ἀπὸ τὸ μυαλό μου ).
Θὰ χαρῶ νὰ βοηθήσω ἂν μπορῶ.
Το qubits ήταν κλασσικός
Spoiler: show
Πιπέεερι :)
Ὁ Admin ποὺ μὲ φροντίζει,
ὁ Admin ποὺ μὲ ἀγαπά,
ὅταν τὸ edit του μοὺ κάνει,
ἂν τὴν παλεύω μὲ ρωτά,
κὶ ἐγώ, κὶ ἐγώ, κὶ ἐγὼ τοῦ ἀπαντῶ :
Δὲ μὲ νοιάζει ἡ
Spoiler: show
ἀναδρομή
, δὲ μὲ νοιάζει ἡ
Spoiler: show
ἀναδρομή
,
μὲ ἀρκεῖ ὅτι ὁ grader θὰ πεῖ : "Λύση Σωστή".

Ὑ.Γ.1 : Ὁ Νὶκ Μάρβελ ΔΕΝ προτιμάει ὑφαντή...
Ὑ.Γ.2 : Συγγνώμη κύριε Ἀντμίν :mrgreen:

Re: Hellenico

Δημοσιεύτηκε: Δευ Φεβ 07, 2011 11:35 pm
από thetrojan01
Κηπουρίδης έγραψε:Ὁ Admin ποὺ μὲ φροντίζει,
ὁ Admin ποὺ μὲ ἀγαπά,
ὅταν τὸ edit του μοὺ κάνει,
ἂν τὴν παλεύω μὲ ρωτά,
κὶ ἐγώ, κὶ ἐγώ, κὶ ἐγὼ τοῦ ἀπαντῶ :
Δὲ μὲ νοιάζει ἡ
Spoiler: show
ἀναδρομή
, δὲ μὲ νοιάζει ἡ
Spoiler: show
ἀναδρομή
,
μὲ ἀρκεῖ ὅτι ὁ grader θὰ πεῖ : "Λύση Σωστή".

Ὑ.Γ.1 : Ὁ Νὶκ Μάρβελ ΔΕΝ προτιμάει ὑφαντή...
Ὑ.Γ.2 : Συγγνώμη κύριε Ἀντμίν :mrgreen:
Συγγνώμη λέει, απλά ΕΓΡΑΨΕΣ!!! :) Μαματο...

Re: Hellenico

Δημοσιεύτηκε: Πέμ Φεβ 10, 2011 11:41 am
από stathis
Κηπουρίδης έγραψε:Ὁ Admin ποὺ μὲ φροντίζει,
ὁ Admin ποὺ μὲ ἀγαπά,
ὅταν τὸ edit του μοὺ κάνει,
ἂν τὴν παλεύω μὲ ρωτά,
κὶ ἐγώ, κὶ ἐγώ, κὶ ἐγὼ τοῦ ἀπαντῶ :
Δὲ μὲ νοιάζει ἡ
Spoiler: show
ἀναδρομή
, δὲ μὲ νοιάζει ἡ
Spoiler: show
ἀναδρομή
,
μὲ ἀρκεῖ ὅτι ὁ grader θὰ πεῖ : "Λύση Σωστή".

Ὑ.Γ.1 : Ὁ Νὶκ Μάρβελ ΔΕΝ προτιμάει ὑφαντή...
Ὑ.Γ.2 : Συγγνώμη κύριε Ἀντμίν :mrgreen:
pure epicness

Re: Hellenico

Δημοσιεύτηκε: Κυρ Φεβ 20, 2011 4:06 pm
από feedWARd
Κηπουρίδης έγραψε:Ἰδιαίτερα θετικὸ γιὰ τὸ hellenico θὰ ἤταν νὰ ἔχει καὶ ἕνα analysis σὰν τὸ usaco, ἀφοὺ λύσεις τὸ πρόβλημα, γιὰ νὰ μαθαίνουμε καὶ τίποτα ( πχ τὸ qubits ποὺ ἤθελε
Spoiler: show
ἀναδρομή
... ἐγὼ τὸ ἔκανα ὅσο πιὸ ἰδιόρρυθμα γίνεται, χωρὶς
Spoiler: show
ἀναδρομή
, μὲ κάτι κανόνες ποὺ ἔβγαζα ἀπὸ τὸ μυαλό μου ).
Θὰ χαρῶ νὰ βοηθήσω ἂν μπορῶ.
Αν και προσωπικά δεν έχω πολύ χρόνο, αν ενδιαφέρεται να συμμετάσχει και κανένας άλλος ας στείλει ένα pm για να οργανωθούμε. Νομίζω ότι έχουμε επίσημες λύσεις σε όλα τα προβλήματα. Αυτό που μένει να γραφτεί είναι η εξήγηση.

Re: Hellenico

Δημοσιεύτηκε: Παρ Μαρ 18, 2011 5:26 pm
από Κηπουρίδης
Ενότητα 3.2, millionaire :
Από ό,τι κατάλαβα, δίνει κατευθυνόμενο γράφημα, και πρέπει να βρούμε έστω και έναν απλό κύκλο στον οποίο να απαντήσουμε σε δέκα ερωτήσεις και να δούμε αν γίνεται να κερδίσουμε χρήματα. Αυτό σημαίνει ότι αν ο κύκλος αποτελείται από 3 nodes, θα τους διασχίσουμε πολλές φορές, ενώ αν αποτελείται από 15, κάποιους δεν θα τους επισκεφθούμε καν ( διορθώστε με αν κάνω λάθος ). Άρα για το 3 παράδειγμα :
1
8 9
2 1 60
3 1 100
4 2 22
8 3 21
6 4 41
3 5 49
7 6 25
5 7 34
2 8 45

Αν κάνουμε την διαδρομή 3 -> 5 -> 7 -> 6 -> 4 -> 2 -> 8 -> 3 -> 5 -> 7 -> 6, θα απαντήσουμε σε δέκα ερωτήσεις με τις εξής πιθανότητες : 49,34,25,41,22,45,21,49,34,25. Άρα αν ξεκινήσουμε με D ευρώ θα πάρουμε D×(0.5 + 1.5×0.49)×(0.5 + 1.5×0.34)×(0.5 + 1.5×0.25)×(0.5 + 1.5×0.41)×(0.5 + 1.5×0.22)×(0.5 + 1.5×0.45)×(0.5 + 1.5×0.21)×(0.5 + 1.5×0.49)×(0.5 + 1.5×0.34)×(0.5 + 1.5×0.25) = 1.055701659 * D ! Δηλαδή ξεκινάμε με D και καταλήγουμε με 1.055701659 * D > D , αφού D > 0! Άρα είναι possible, ενώ στο παράδειγμα λέει
Παράδειγμα εξόδου 3 (αρχείο "millionaire.out")

Not possible

Κάνω κάπου λάθος;;;

Re: Hellenico

Δημοσιεύτηκε: Δευ Απρ 25, 2011 1:46 pm
από Κηπουρίδης
Κηπουρίδης έγραψε:Ενότητα 3.2, millionaire : ....
Κάνω κάπου λάθος;;;
Ναι, κάνω κάπου λάθος. Αυτό που ζητάει είναι να κάνουμε δέκα ΚΥΚΛΟΥΣ, όχι να διασχίσουμε δέκα edges ( για όποιον ενδιαφέρεται ... ).

Re: Hellenico

Δημοσιεύτηκε: Τρί Απρ 26, 2011 12:19 am
από thetrojan01
Κηπουρίδης έγραψε:
Κηπουρίδης έγραψε:Ενότητα 3.2, millionaire : ....
Κάνω κάπου λάθος;;;
Ναι, κάνω κάπου λάθος. Αυτό που ζητάει είναι να κάνουμε δέκα ΚΥΚΛΟΥΣ, όχι να διασχίσουμε δέκα edges ( για όποιον ενδιαφέρεται ... ).
Τώρα τελειώνω την 1.5 pal, no idea for whatda*** you're talking about :lol:

Συγχαρητήρια που έσκισες στο camp και από το φόρουμ ;)
Συγχαρητήρια και σε όποιους είχαν πάρει μέρος.

Re: Hellenico

Δημοσιεύτηκε: Σάβ Οκτ 08, 2011 11:28 am
από NikosZ
Καλησπέρα σας.. Μπορεί κανείς να με βοηθήσει με το 3ο πρόβλημα 1.1 με την λήψη αρχείων , μου βγάζει 1/10 κι έχω σκαλώσει εδώ κι μια εβδομάδα... ευχαριστώ!

Re: Hellenico

Δημοσιεύτηκε: Σάβ Οκτ 08, 2011 1:31 pm
από Κηπουρίδης
NikosZ έγραψε:Καλησπέρα σας.. Μπορεί κανείς να με βοηθήσει με το 3ο πρόβλημα 1.1 με την λήψη αρχείων , μου βγάζει 1/10 κι έχω σκαλώσει εδώ κι μια εβδομάδα... ευχαριστώ!
Θες να μας πεις τι έκανες και να βοηθήσουμε αν κάνεις κάτι λάθος;
Το προφανές εδώ πέρα είναι ότι θα πρέπει κάθε στιγμή να χρησιμοποιήσεις το μέγιστο του bandwidth σου, άρα θα πρέπει να το ανακατανέμεις όταν τελειώνει το κατέβασμα ενός αρχείου.

Re: Hellenico

Δημοσιεύτηκε: Σάβ Οκτ 08, 2011 3:29 pm
από NikosZ
εγώ κάνω το ακόλουθο όταν τελειώσει το αρχείο περνώ την ταχύτητα του κι την προσθέτω σε ένα τυχαίο αρχείο που δεν έχει τελειώσει..
να ο κώδικας:

Κώδικας: Επιλογή όλων

#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
 int x;
    int s[100];
    int t[100];
    int i(0);
    int po(0);
    int poo(0);
    int sec1(0);
    int sec(0);
    int xi(0);
void small()
{
     int lp = 10000;
     for(int k=0;k<x;)
     {
             if(t[k]<=lp && t[k] >0)
             {
                        
                        lp = t[k];
                        if(po ==0){
                        po =k;     }            
                       else if(po!=0)
                        {
                             poo =k;
                             xi++;
                        }
             }
             
             k++;
     }
     if(lp == 10000)
     {}
     else{
     sec1=lp;}
}

void newsec()
{
     for (int ik=0; ik<x;)
     {
         if(t[ik] <=0)
         {}
         else
         {
         t[ik] = (t[ik] -sec1);
         }
         ik++;
         
     }
     
}
void speed()
{
     for (int ko =0; ko<x;)
     {
        
          if (t[ko]>0)
          {
          if(xi==1){
               t[ko] = t[ko]*s[ko]/(s[po]+s[ko] + s[poo]);
               s[ko] = s[ko]+s[po] + s[poo];
               ko = x;
               }
               else
               {
               t[ko] = t[ko]*s[ko]/(s[po]+s[ko]);
               s[ko] = s[ko]+s[po];
               ko = x;
               }
          }
          ko++;
        
     }
}
int main()
{

    ifstream in("downloads.in");
    in>>x;
    while(in>>s[i]>>t[i]){i++;}
    in.close();
    ofstream out("downloads.out");
    for(int ki =0; ki<x;)
    {
            xi=0;
            small();       
            newsec();
            speed();
            sec = sec + sec1;
            sec1 =0;
            ki++;
            
}
out<<sec<<endl;
out.close();
    return 0;
}

Re: Hellenico

Δημοσιεύτηκε: Σάβ Οκτ 08, 2011 5:26 pm
από sotiris
NikosZ έγραψε:εγώ κάνω το ακόλουθο όταν τελειώσει το αρχείο περνώ την ταχύτητα του κι την προσθέτω σε ένα τυχαίο αρχείο που δεν έχει τελειώσει..
να ο κώδικας:

Κώδικας: Επιλογή όλων

#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
 int x;
    int s[100];
    int t[100];
    int i(0);
    int po(0);
    int poo(0);
    int sec1(0);
    int sec(0);
    int xi(0);
void small()
{
     int lp = 10000;
     for(int k=0;k<x;)
     {
             if(t[k]<=lp && t[k] >0)
             {
                        
                        lp = t[k];
                        if(po ==0){
                        po =k;     }            
                       else if(po!=0)
                        {
                             poo =k;
                             xi++;
                        }
             }
             
             k++;
     }
     if(lp == 10000)
     {}
     else{
     sec1=lp;}
}

void newsec()
{
     for (int ik=0; ik<x;)
     {
         if(t[ik] <=0)
         {}
         else
         {
         t[ik] = (t[ik] -sec1);
         }
         ik++;
         
     }
     
}
void speed()
{
     for (int ko =0; ko<x;)
     {
        
          if (t[ko]>0)
          {
          if(xi==1){
               t[ko] = t[ko]*s[ko]/(s[po]+s[ko] + s[poo]);
               s[ko] = s[ko]+s[po] + s[poo];
               ko = x;
               }
               else
               {
               t[ko] = t[ko]*s[ko]/(s[po]+s[ko]);
               s[ko] = s[ko]+s[po];
               ko = x;
               }
          }
          ko++;
        
     }
}
int main()
{

    ifstream in("downloads.in");
    in>>x;
    while(in>>s[i]>>t[i]){i++;}
    in.close();
    ofstream out("downloads.out");
    for(int ki =0; ki<x;)
    {
            xi=0;
            small();       
            newsec();
            speed();
            sec = sec + sec1;
            sec1 =0;
            ki++;
            
}
out<<sec<<endl;
out.close();
    return 0;
}

Δεδομένα Εξόδου (downloads.out)

Το πρόγραμμα πρέπει να τυπώνει σε μια γραμμή έναν αριθμό, το χρόνο (σε δευτερόλεπτα) που χρειάζεται για να κατέβουν όλα τα αρχεία.Ο αριθμός πρέπει να είναι στρογγυλοποιημένος στον πλησιέστερο ακέραιο.


Η μεταβλητή που χρησιμοποιείς στην έξοδο είναι ακέραιος , χρειάζεσαι πραγματικό αριθμό :) .

ΥΓ
Δεν έλενξα τον κώδικά σου , να δω εάν δουλεύει , πάντως θα σε συμβούλευα να σκεφτείς κάτι καλύτερο και να το ξαναγράψεις.