Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Despre compilatoru de pe sit?  (Citit de 2671 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« : Ianuarie 02, 2009, 10:37:04 »

Ce  inseamna  Killed  by  signal 11  (SIGSEGV)?
 
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #1 : Ianuarie 02, 2009, 11:14:39 »

Citeste Documentatia Evaluatorului
Probabil iesi din limitele unui vector
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #2 : Ianuarie 02, 2009, 12:58:25 »

Pot  sa  aflu  care sunt........nr de  teste?
Memorat
sigrid
De-al casei
***

Karma: 61
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #3 : Ianuarie 02, 2009, 13:28:41 »

Din cate vad tu incerci sa rezolvi problema Tablete. Aceasta problema are 10 teste. Poti vedea numarul testelor in monitorul de evaluare daca dai click pe punctaj dupa ce sursa a fost evaluata, insa nu poi vedea testele propriu zise decat pentru cateva probleme pentru care acest lucru a fost permis. Problema Tablele nu se afla printre ele  Smile.
Memorat
Mishu91
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« Răspunde #4 : Ianuarie 02, 2009, 13:37:07 »

Pentru a afla de ce iti crapa testeaza cu datele maxime (la problema tablete se citesc doar 2 numere, deci nu e o problema)
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #5 : Ianuarie 04, 2009, 13:33:59 »

Pai  am  facut  am facut  si  un program  care  testaeza daca  raspunsul  ii  corect si  mere. Ma  rog  pt  k=1  nu  mere  dar nici  nu trebeuie  ,  este  imposibil. Si aici   imi apare  la 2  Solutii  Gresite...si  m-am  uitat  pe  varianta oficiala  si  ideea  e  aproape  cu ce  m-am  gandit eu
« Ultima modificare: Ianuarie 04, 2009, 14:24:32 de către alexandru » Memorat
sigrid
De-al casei
***

Karma: 61
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #6 : Ianuarie 04, 2009, 14:41:17 »

Trebuie sa fie o problema undeva in solutia ta. Din cate vad, ai probleme cu timpul de executie si ai scapat de raspunsurile gresite pe care le aveai. Inseamna ca implementarea solutiei (chiar daca ideea e asemanatoare cu cea oficiala) nu duce la o rezolvare care sa se incadreze in timp.

De ce nu citesti mai intai topicul problemei Tablete: http://infoarena.ro/forum/?topic=3476.0 ? Eventual, scrie acolo cum ai rezolvat problema si daca cineva observa "ineficienta" probabil vei primi mai mult ajutor decat aici  Smile.
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #7 : Ianuarie 05, 2009, 06:31:47 »

Multumesc  pt  idee....l-am  postat  si acolo, dar cred k  is slabe sanse asa  k postez  si  aici"
Ma  poate  ajuta cineva?  Am vazut  solutia  oficiala  dar  vreau sa  o rezolv singur, sa  zic, dar  tot trec de  limita  de  timp  :
Eu  m-am  gandit la  urmatoarea  rezolvare:
Pun  pe  coloana   k   un  elemnt  par  a.i    sa  pot  pune  elemtele   de la  k-1......1 daca  nu  se  poate  trec la  urmatorul element  par  si verific daca  pot
Ca sa  nu folosesc de  2  ori  acelasi  nr   folosesc vectorul  uz cu semnificatia  uz[ i ]=0  nefolosit  uz[ i ]=1  folosit.
Si  la  afisarea  afisez  matricea  pana  la k  apoi afisez  numerele  ramase  care vor fi  >de cat cele puse  in  partea  opusa
Aici   gasiti  implementarea:
http://infoarena.ro/job_detail/239250?action=view-source

Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #8 : Ianuarie 05, 2009, 17:31:06 »

1. in topicurile speciale pentru probleme vei primi raspunsuri, ai rabdare doar... in 24h de obicei ai raspuns...
2. nu toti putem vedea sursa asa ca degeaba ai pus link... eventual posteaz-o pe forum cu tagul "code"
Memorat
alexandru92
Nu mai tace
*****

Karma: -191
Deconectat Deconectat

Mesaje: 496



Vezi Profilul
« Răspunde #9 : Ianuarie 05, 2009, 18:33:56 »

Acesta-i  codul:
Cod:
#include<stdio.h>
#define InFile "tablete.in"
#define OutFile "tablete.out"
#define Nmax 1000
FILE *fin=freopen(InFile,"r",stdin),*fout=freopen(OutFile,"w",stdout);
long  a[Nmax+1][Nmax+1];
int   n,K,uz[Nmax*Nmax+2];
void Tablete(int i)
   {if(i==n+1) return;
    int ok=1;
    long nr=i*K%2==0?i*K:i*K+1,lg=0,j,v[Nmax+1],nr2;
    do
     {if(!ok)
        {nr+=2; for(j=1;j<=lg;j++) uz[v[i]]=0;}
      ok=1;
      if(uz[nr]) while(uz[nr]&&nr<=n*n) nr+=2;
      a[i][K]=nr; uz[nr]=1; v[++lg]=nr;
      for(j=K-1;j>=1&&ok;j--)
         {nr2=a[i][j+1]-1;
          if(uz[nr2]) while(uz[nr2]&&nr2>=1) nr2--;
          if(nr2<=1&&j>1) ok=0;
            else {a[i][j]=nr2; uz[nr2]=1; v[++lg]=nr2;}
         }
     }while(!ok);
    Tablete(i+1);
   }
int main()
  {long i,j,nr;
   scanf("%d %d",&n,&K);
   fclose(fin);
   Tablete(1);
   for(i=1;i<=n;i++)
      {nr=n-K;
       for(j=1;j<=K;j++) printf("%ld ",a[i][j]);
           for(j=a[i][K];j<=n*n&&nr;j++)
              if(!uz[j]) {printf("%ld ",j); uz[j]=1; nr--;}
       printf("\n");
      }
   fclose(fout);
  }
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines