infoarena

infoarena - concursuri, probleme, evaluator, articole => Arhiva de probleme => Subiect creat de: Stefan Istrate din Martie 27, 2010, 13:46:23



Titlul: 1011 Egipt
Scris de: Stefan Istrate din Martie 27, 2010, 13:46:23
Aici puteți discuta despre problema Egipt (http://infoarena.ro/problema/egipt).


Titlul: Răspuns: 1011 Egipt
Scris de: Rus Cristian din Martie 27, 2010, 17:08:59
1. m-am uitat peste problema asta, si din cate imi dau seama solutia nu e unica, s-ar putea sa nu fie inca implementat un verificator pentru sursele trimise? mie imi da pentru testul din exemplu:

Cod:
3
1 3
2 4
3 5

2. ce va da pentru valorile astea?

Cod:
6
3
2
3
2
1
1

mie imi da:

Cod:
3
1 5
2 6
3 6


Titlul: Răspuns: 1011 Egipt
Scris de: Stefan Istrate din Martie 27, 2010, 17:10:24
Există verificator. :)


Titlul: Răspuns: 1011 Egipt
Scris de: Andrei din Martie 28, 2010, 12:37:42
cineva care a facut problema de 100p, nu ar putea pune un test mai mare/bun decat cel din exemplu, sa imi gasesc greseala :-k :readthis:
mersi

Later Edit:am rezolvat(pacat ca nu am facut-o in timpul concursului :angry:)


Titlul: Răspuns: 1011 Egipt
Scris de: Daniel Mihalca din Martie 29, 2010, 16:14:40
Ar putea pune cineva un test (sau unul asemanator ca si cel) de la 2 la 10?


Titlul: Răspuns: 1011 Egipt
Scris de: Pripoae Teodor Anton din Martie 29, 2010, 17:11:20
Uite aici arhiva cu testele generate de mine in timpul concursului pt a ma verifica.

http://rapidshare.com/files/369579225/egipt.zip.html


Titlul: Răspuns: 1011 Egipt
Scris de: Daniel Mihalca din Martie 30, 2010, 20:28:24
Mersi. Am reusit in cele din urma :D.


Titlul: Răspuns: 1011 Egipt
Scris de: Gabi Purcaru din Aprilie 02, 2010, 22:26:42
Majoritatea surselor se incadreaza in 10ms. Propun scaderea limitei de timp sau cresterea marimii lui N


Titlul: Răspuns: 1011 Egipt
Scris de: Andrei Misarca din Aprilie 05, 2010, 17:13:58
Majoritatea surselor se incadreaza in 10ms. Propun scaderea limitei de timp sau cresterea marimii lui N
Atâta timp cât nu există surse ineficiente care iau punctaje mari, nu se impune schimbarea limitei de timp.


Titlul: Răspuns: 1011 Egipt
Scris de: Tirca Bogdan din Aprilie 06, 2010, 18:22:48
Eu am O(3*nr_interschimbari*log(N))   si imi intra in 12 ms ,deci testele ar putea fi marite  :D


Titlul: Răspuns: 1011 Egipt
Scris de: Salajan Razvan din Iunie 25, 2011, 11:51:42
Este vreun caz particular ? ca iau doar 90 de pct ...(cu wa pe ultimul test )


Titlul: Răspuns: 1011 Egipt
Scris de: Mihai Visuian din Decembrie 23, 2011, 14:09:26
Nu se  pune daca se afiseaza i si j in alta ordine?
de exemplu:
1-4
2-3
4-5


Titlul: Răspuns: 1011 Egipt
Scris de: serediuc constantin din Martie 01, 2012, 10:44:43
Am rezolvat aceasta problema si cu greu am reusit sa obtin 0 puncte. NU spun ca rezolvarea mea este una perfecta pentru exemplu dar la problema se poate gasi mai multe solutii
pentru datele de intrare:
5                                                                                  3                                 3
3                                                                                  2 3                             1 4
2                                     exista urmatoarele solutii            1 4               dar si       2 3
1                                                                                  4 5                             4 5
1
2                                     

as vrea o explicatie suplimentara daca se poate.

Multumesc


Titlul: Răspuns: 1011 Egipt
Scris de: Dan H Alexandru din Martie 21, 2012, 19:33:37
Lasati-mi si mie va rog niste teste mai mari. Nu reusesc sa imi dau seama unde gresesc.  :-k

Ideea mea e un fel de greedy. Pornesc de la pozitia 1 si dupa cand dau de o valoare de 2 sau 3 care nu e pozitionata unde trebuie o interschimb cu cea mai la dreapta valoare de 1 (am intr-un vector pozitiile numerelor de 1 , 2 si 3 ) Dupa fac acelasi lucru de la pozitia unde trebuie sa apara primul doi pana la pozitia unde trebuie sa apara ultimul 2. Mi se pare ok modul de gandire.

LE: Am rezolvat ... acum iau 80p.  :D


Titlul: Răspuns: 1011 Egipt
Scris de: Hasmasan Dragos din Octombrie 17, 2014, 10:31:31
Salut. Are cineva niste teste mai speciale , ca iau WA pe ultimele doua teste si nu stiu de ce . Mi-am generat o gramada de teste de mana , dar pe toate mi-a dat corect (test cand sirul e ordonat deja , cand avem doar un element , cand e descrescator , etc).

LE : S-a rezolvat , faceam niste interschimbari inutile  :aha:.


Titlul: Răspuns: 1011 Egipt
Scris de: Radu Toporan din Martie 11, 2016, 14:37:43
Isi da seama cineva ce e gresit la sursa:

#include <cstdio>
 
int mutari=0,n,i,a[100005],n1=0,n2=0,n3=0,i1,i2,i3,aux;
struct schimbare
{
    int i,j;
};
schimbare mut[100005];
 
int main()
{
    freopen("egipt.in","r",stdin);
    freopen("egipt.out","w",stdout);
    scanf("%d",&n);
    for (i=1; i<=n; i++)
    {
        scanf("%d",&a);
        if (a==1) n1++; else if (a==2) n2++; else n3++;
    }
    for (i1=1; i1<=n1; i1++)
        for (i2=n1+1; i2<=n1+n2; i2++)
        if (a[i1]!=1 && a[i2]==1)
    {
        mutari++;
        mut[mutari].i=i1;
        mut[mutari].j=i2;
        aux=a[i1];
        a[i1]=1;
        a[i2]=aux;
    }
 
    for (i1=1; i1<=n1; i1++)
        for (i3=n1+n2+1; i3<=n1+n2+n3; i3++)
        if (a[i1]!=1 && a[i3]==1)
    {
        mutari++;
        mut[mutari].i=i1;
        mut[mutari].j=i3;
        aux=a[i1];
        a[i1]=1;
        a[i3]=aux;
    }
 
    for (i2=n1+1; i2<=n1+n2; i2++)
        for (i3=n1+n2+1; i3<=n1+n2+n3; i3++)
        if (a[i2]!=2 && a[i3]==2)
    {
        mutari++;
        mut[mutari].i=i2;
        mut[mutari].j=i3;
        aux=a[i2];
        a[i2]=2;
        a[i3]=aux;
    }
    printf("%d\n",mutari);
    for (i=1; i<=mutari; i++)
        printf("%d %d\n",mut.i,mut.j);
    return 0;
}


Titlul: Răspuns: 1011 Egipt
Scris de: Radu Toporan din Martie 11, 2016, 16:16:28
Nu mai este nevoie! :yahoo: :banana: