» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59778 de mesaje.
  • 7153 de topicuri.
  • 1005 de utilizatori.
  •  
  • Orricslep e ultimul utilizator inregistrat.
[Detalii]

 
Pagini: [1]
Print
[Incepatori][Concurs Nr. 28]Aparitii [633 afisari]
tw8
*


Mesaje: 576
OfflineOffline


Se citeste de pe prima linie a fisierului "c28i.in" numarul natural n(<100.000), si de pe a doua linie vectorul v cu n componente (numere naturale mai mici decat 2^32).
Pe a treia linie a fisierului se va afla numarul natural x (<100.000). Pentru fiecare din numerele de pe urmatoarele x linii, sa se afiseze in fisierul de iesire "c28i.out", in functie de apartenta acestuia la vectorul v:

   0, daca numarul nu apare
   1, daca numarul apare doar odata
   2, daca numarul apare de cel putin doua ori

Exemplu

c28i.in:
Code:
10
1 2 6 3 2 5 1 9 6 1
5
1
2
3
4
5
c28i.out:
Code:
22101
Data limita: 10.05.2009
Succes!
Logged
03-05-2009, 20:12 Twitt ::
AnDrEwBoY
*


Mesaje: 45
OfflineOffline

WWW

Sunt primul!!!

http://www.speedyshare.com/355389901.html
Logged

Worldit.info - Blog de tutoriale si articole de programare web,soft si photoshop,securitate,probleme de algoritmica si viata.
04-05-2009, 07:47 Twitt ::
tercot
*


Mesaje: 1385
OnlineOnline

WWW

Apar si eu la aceasta sectiune, sper cu dreptul.
http://fisierulmeu.ro/351JSJOVOF5D/C28I-EXE.html
Quote from: tw8
Ti-am editat eu postul Smile. De acum, te rog sa nu mai postezi sursa aici, ci sa imi dai un mesaj privat cu ea.
P.S.:Merci de atentionare, DB Smile.
Bafta tuturor participantilor.
Logged

"Fii totdeauna cu Dumnezeu, daca vrei ca Dumnezeu sa fie totdeauna cu tine!" Sfantul Ioan Gura de Aur
Incepator in C
07-05-2009, 12:36 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

^ Sursa o trimiti doar lui tw8, dude Smile
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
07-05-2009, 12:52 Twitt ::
tercot
*


Mesaje: 1385
OnlineOnline

WWW

Imi cer scuze Big grin
Logged

"Fii totdeauna cu Dumnezeu, daca vrei ca Dumnezeu sa fie totdeauna cu tine!" Sfantul Ioan Gura de Aur
Incepator in C
07-05-2009, 15:29 Twitt ::
tw8
*


Mesaje: 576
OfflineOffline


In primul rand, felicitari ambilor participanti.
Am testat ambele programe. Din pacate, doar programul lui AndrewBoy functioneaza corect. Sursa - folosind hashtables:

Code:
#include<stdio.h>

int n,x,i,j;
long long val,hv;

void read(),solve();

struct hs{int vv,mm;hs *next;};
hs *ht[99991],*paux;

int main()
{
    freopen("c28i.in","r",stdin);
    freopen("c28i.out","w",stdout);
   
    read();
    solve();
     
    fclose(stdin); fclose(stdout);
    return 0;
}

void read()
{
scanf("%d",&n);
for(i = 1;i <= n;i++)
{
scanf("%lld",&val);
hv=val%99991;
for(paux = ht[hv];paux;paux = paux->next)
if(paux->vv == val)
{ paux->mm++;break; }
if(!paux)
{
paux = new hs;
            paux->vv = val;
            paux->mm = 1;
            paux->next = ht[hv];
            ht[hv] = paux;
}
}
}

void solve()
{     
     scanf("%d",&x);
     int ok;
     for(i = 1; i <= x; i++)
     {
           scanf("%lld",&val);
           hv = val % 99991;
           ok = 0;
   for(paux = ht[hv];paux;paux = paux->next)
if(paux->vv == val)
             {
                  if(paux->mm == 1) printf("1"),ok = 1;
                  else printf("2"),ok = 1;       
             }
           if(!ok && !paux) printf("0");
     }   
     printf("\n");
}

Sursa lui tercot nu am reusit sa o gasesc.
O alta posibila rezolvare era sortarea numerelor, dupa care folosirea cautarii binare.
Castigatorul este, desigur, AndrewBoy.
Bafta Winking.
Logged
10-05-2009, 20:30 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Concursuri de programare (Moderator: tw8)  |  Topic: [Incepatori][Concurs Nr. 28]Aparitii
Jump to: