Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / usaco training ..sectiunea 1.4 .. checker challenge : Septembrie 18, 2005, 00:23:34
eu tot nu am reusit sa o bag sub o secunda ... am facut-o si iterativ si tot imi da un timp de 1.3 secunde .... sugestii cineva ?

Cod:

void back()
 {
  FILE *g=fopen("checker.out","w"),
       *f=fopen("checker.in","r");
  unsigned long m=0;
  int k=1,as,gasite=0,aux,n,limita;
  fscanf(f,"%d",&n);
  fclose(f);
  if(n>6)  aux=(n+1)/2;
  else aux=n;
 
  st[k]=val1;
  while(k>val1)
   {
    limita=n;
    if(k==1 || (k==2 && st[1]==7)) limita=aux;
    do{
       if(st[k]<limita) {st[k]++;as=1;}
       else as=val1;

       }while((as) && (diag[st[k]-k+n]!=val1 || diag2[k+st[k]]!=val1 || coloana[st[k]]!=val1));
    if(as) {
           diag[st[k]-k+n]=diag2[st[k]+k]=coloana[st[k]]=1;  
           if(k==n) {
                     //   noteaza();
                     if((st[1]!=aux && n>6) || (st[1]==aux && n%2==val1 && n>6) || (n==13)) m+=2;
                     else m++;
                     if(gasite<3)
                     { for(int j=1;j<=n;j++) {fprintf(g,"%d",st[j]);if(j!=n) fprintf(g," ");}
                       fprintf(g,"\n");gasite++;
                     }  
                     coloana[st[k]]=diag[st[k]-k+n]=diag2[st[k]+k]=val1;
                       }
                      else {k++;st[k]=val1;}
                   }
    else {k--;coloana[st[k]]=diag[st[k]-k+n]=diag2[st[k]+k]=val1;}
    }
    fprintf(g,"%ld\n",m);
    fclose(g);
 
   }


Editat de moderator: Invatati sa puneti "[code]" inaintea unui fragment de cod
2  infoarena - concursuri, probleme, evaluator, articole / Informatica / usaco training ..sectiunea 1.4 .. checker challenge : Septembrie 14, 2005, 23:51:17
e de-a dreptul enervant... chiar nu-mi dau seama ce as putea sa ii fac ca sa mearga ...
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / usaco training ..sectiunea 1.4 .. checker challenge : Septembrie 14, 2005, 19:38:07
da....am folosit simetrizare .... pe calc meu ...la n=13 ...imi da timpul 0.44 s ... iar pe usaco imi da mai mult de o sec ....
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / usaco training ..sectiunea 1.4 .. checker challenge : Septembrie 14, 2005, 19:25:17
imi explica si mie cineva cum pot sa fac sa-mi intre ultimul test (n=13)  in limita de o secunda ? .... mie imi da 1.21 s  ...
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 026 Energii : Martie 23, 2005, 21:08:54
nu...am verificat.
6  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 026 Energii : Martie 23, 2005, 20:38:50
mie imi da WA la testele 5 si 9. la celelalte merge ... are cineva vreo idee de ce ?
7  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 043 Boom : Martie 23, 2005, 14:03:27
da...ar fi ceva. multumesc mult.
8  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 043 Boom : Martie 23, 2005, 12:58:39
imi da si mie cineva o idee la problema asta ?
9  infoarena - concursuri, probleme, evaluator, articole / Informatica / HELP! : Martie 23, 2005, 12:05:26
imi spune si mie cineva ce trebuie sa includ ca sa folosesc memset pe compilatorul de c++ de pe info arena ?
10  infoarena - concursuri, probleme, evaluator, articole / Informatica / HELP! : Martie 20, 2005, 16:45:30
bine ca esti tu destept.
11  infoarena - concursuri, probleme, evaluator, articole / Informatica / HELP! : Martie 20, 2005, 13:53:48
multumesc.
12  infoarena - concursuri, probleme, evaluator, articole / Informatica / HELP! : Martie 20, 2005, 13:51:10
cum masor timpul care s-a scurs de la inceputul rularii ? am observat ca la djgpp nu exista in time.h functia CLK_TCK.
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 028 Secventa 2 : Martie 19, 2005, 20:00:18
nu este nici o problema cu testul , decat ca este format numai din valori negative iar voi probabil ati initializat maximul cu 0.incercati sa puneti maximul=-1250000000 la inceput.
14  infoarena - concursuri, probleme, evaluator, articole / Informatica / Alocare dinamica in C++ : Martie 17, 2005, 22:12:18
hmmm....multumesc.
15  infoarena - concursuri, probleme, evaluator, articole / Informatica / Alocare dinamica in C++ : Martie 17, 2005, 18:09:51
imi poate trimite si mie cereva o implementare in c++ de arbori AVL ? pls... v-as fi foarte recunoscator.
 
mail: [email protected]
16  infoarena - concursuri, probleme, evaluator, articole / Informatica / Alocare dinamica in C++ : Martie 17, 2005, 16:59:44
damn....de nu l-am cautat in c++ de m-au luat dracii.
17  infoarena - concursuri, probleme, evaluator, articole / Informatica / Alocare dinamica in C++ : Martie 17, 2005, 00:56:35
bai...care-mi explicati si mie de la ce vine CRT ? va rog ... ce functii include ? ni s-a spus la oji ca n-avem voie sa folosim functiile din crt...dar eu nici nu stiu care sunt alea ...
18  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / 035 Party : Martie 05, 2005, 09:35:22
"x y 0 are semnificatia ca x sau y trebuie sa participle la petrecere " , pot participa si amandoi ? dar nici unul ?
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines