Γενικά > Διαγωνισμοί

32ος Πανελλήνιος Διαγωνισμός Πληροφορικής

(1/2) > >>

Νίκος Αδαμόπουλος:
http://pdp.gr/

Θέμα Α' Φάσης:
http://pdp.gr/files/32a/PDP_32_A.pdf
έως 2 Φεβρουαρίου.

Κάτι μου θυμίζει!  :-X

evry:
Τώρα αυτό είναι θέμα για μαθητές Γυμνασίου?
Να δω πόσοι μαθητές Γυμνασίου θα το λύσουν .... (μόνοι τους)
Μεγάλη αλλαγή στη φιλοσοφία σε σχέση με τα άλλα χρόνια.
Μάλλον μπέρδεψαν την Ανάπτυξη Εφαρμογών με τους διαγωνισμούς πληροφορικής!

Νίκος Αδαμόπουλος:

--- Παράθεση από: Νίκος Αδαμόπουλος στις 28 Νοε 2019, 07:56:02 μμ ---http://pdp.gr/

Θέμα Α' Φάσης:
http://pdp.gr/files/32a/PDP_32_A.pdf
έως 2 Φεβρουαρίου.

Κάτι μου θυμίζει!  :-X

--- Τέλος παράθεσης ---

Θέμα Δ στο Επαναληπτικό του Στεκιού 2012-13:
https://alkisg.mysch.gr/steki/index.php?topic=5173.0

Laertis:
 :police:

Νίκος Αδαμόπουλος:

--- Παράθεση από: Νίκος Αδαμόπουλος στις 28 Νοε 2019, 07:56:02 μμ ---http://pdp.gr/

Θέμα Α' Φάσης:
http://pdp.gr/files/32a/PDP_32_A.pdf

--- Τέλος παράθεσης ---

Μια ενδεικτική λύση με C++ σε O(nlogn):


--- Κώδικας: C ---#include <cstdio>  #include <algorithm>    using namespace std;    struct student  {      int aa;      int moria;  } ;    bool comparison(student x, student y)  {      if(x.moria<y.moria)          return false;      else          return true;    }      int main()  {      freopen("erasmus.in", "r", stdin);      freopen("erasmus.out", "w", stdout);        int N, M, i, j, s, u;      scanf("%d %d", &N, &M);      int X[N], XF[N];      for(i=0; i<N; i++) {        XF[i]=0;             scanf("%d", &X[i]);      }      student st[M];      int K[M], APOT[M], P[M][10];      for(i=0; i<M; i++) {         st[i].aa=i;          scanf("%d %d", &st[i].moria, &K[i]);         for(j=0; j<K[i]; j++)             scanf("%d", &P[i][j]);        }            sort(st, st+M, comparison);         bool ok;      for(i=0; i<M; i++) {          s=st[i].aa;          ok=false;          for(j=0; j<K[s]; j++) {              u=P[s][j]-1;              if (XF[u]<X[u]){                XF[u]++;                  APOT[s]=u+1;                ok=true;                break;              }          }          if (!ok) APOT[s]=0;      }          for(i=0; i<M; i++) {          if (APOT[i]==0)              printf("NONE\n");          else              printf("%d\n", APOT[i]);      }            return 0;  }

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

Μετάβαση στην πλήρη έκδοση