Titlul: 778 Tablete Scris de: Andrei Grigorean din Decembrie 14, 2008, 14:32:10 Aici puteti discuta despre problema Tablete (http://infoarena.ro/problema/tablete).
Titlul: Răspuns: 778 Tablete Scris de: Glodeanu Ioan Daniel din Decembrie 14, 2008, 22:02:54 Test Timp executie Memorie folosita Mesaj Punctaj/test
1 0ms 12kb OK 10 2 4ms 8kb OK 10 3 4ms 8kb OK 10 4 96ms 1808kb OK 10 5 524ms 4972kb Time limit exceeded. 0 6 4ms 488kb OK 10 7 124ms 2196kb OK 10 8 328ms 3428kb OK 10 9 480ms 4972kb Time limit exceeded. 0 10 584ms 4968kb Time limit exceeded. 0 Punctaj total 70 De ce da imi da TLE pe testul 9 daca se incadreaza in timp? :| Titlul: Răspuns: 778 Tablete Scris de: Cezar Mocan din Decembrie 14, 2008, 22:07:22 S-a mai discutat, timpii afisati in monitor nu sunt exacti. Poti sa ai incredere in evaluator, iti calculeaza bine timpul de executie. Incearca sa mai optimizezi. Altora le-a intrat fara probleme.
Titlul: Răspuns: 778 Tablete Scris de: Glodeanu Ioan Daniel din Decembrie 15, 2008, 00:12:56 S-a mai discutat, timpii afisati in monitor nu sunt exacti. Poti sa ai incredere in evaluator, iti calculeaza bine timpul de executie. Incearca sa mai optimizezi. Altora le-a intrat fara probleme. Merci pentru lamurire... :) Titlul: Răspuns: 778 Tablete Scris de: alexandru andronache din Decembrie 15, 2008, 20:58:21 Stiu ca nu puteti sa-mi dati testele dar mi-ati putea da macar un indiciu la ce gresesc in rezolvarea asta #232607? Toate testele facute de mine dau solutii corecte... ](*,)
Titlul: Răspuns: 778 Tablete Scris de: Rus Cristian din Decembrie 15, 2008, 21:05:14 mai incearca problema, nu e grea, nu intreba rapid pe forum ce nu iti iese :thumbup:
Titlul: Răspuns: 778 Tablete Scris de: Stefan Istrate din Decembrie 15, 2008, 21:17:24 M-am uitat pe solutia ta si pentru unele teste afisezi si numere mai mari decat N * N, nu doar intre 1 si N * N. Da-ti mai multe teste mici sa te convingi. :)
Titlul: Răspuns: 778 Tablete Scris de: gaboru corupt din Decembrie 16, 2008, 00:48:56 coloana k trebuie sa aiba de asemenea elementele in ordine crescatoare?... ???
Titlul: Răspuns: 778 Tablete Scris de: Stefan Istrate din Decembrie 16, 2008, 02:21:11 Nu
Titlul: Răspuns: 778 Tablete Scris de: Patcas Csaba din Decembrie 16, 2008, 12:46:21 S-a mai discutat, timpii afisati in monitor nu sunt exacti. Poti sa ai incredere in evaluator, iti calculeaza bine timpul de executie. Incearca sa mai optimizezi. Altora le-a intrat fara probleme. De fapt, toti cei care au facut in Pascal, au luat 70... (din ce am vazut pana acuma). Motivul este, ca scrierea in fisier merge muuult mai lent in Pascal, am reusit sa rezolv problema de 100 in Pascal folosind buffer la scriere (si nemodificand altceva). Titlul: Răspuns: 778 Tablete Scris de: Feier Vlad din Decembrie 16, 2008, 18:44:06 S-a mai discutat, timpii afisati in monitor nu sunt exacti. Poti sa ai incredere in evaluator, iti calculeaza bine timpul de executie. Incearca sa mai optimizezi. Altora le-a intrat fara probleme. Pai nu e facut cu timer de mare acuratete (Performance Counter)? :-kTitlul: Răspuns: 778 Tablete Scris de: Bogdan-Cristian Tataroiu din Decembrie 16, 2008, 18:55:06 In primul rand evaluarea e sub linux.
Programului ii este masurat exact timpul in care foloseste procesorul, in monitor doar sunt afisati cu erori de cateva milisecunde. De asemenea, programul este oprit imediat ce depaseste timpul de executie, nu se asteapta sa termine executia. Titlul: Răspuns: 778 Tablete Scris de: alexandru din Ianuarie 04, 2009, 18:44:29 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: Cod: #include<stdio.h> [Editat de admin] aveti grija sa se vada textu calumea cand postati. [i ] (fara spatiu) inseamna italic pe forum, puneti spatii...#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); } Titlul: Răspuns: 778 Tablete Scris de: Codrin LACHE din Martie 12, 2009, 14:36:25 iau doar 50/100 dar nu inteleg unde gresesc :readthis: :readthis: :fighting: :fighting:
gata :banana: :banana: \:D/ \:D/ [editat] ne bucuram pentru tine, dar nu mai posta consecutiv. Foloseste optiunea "modifica" Titlul: Răspuns: 778 Tablete Scris de: Andrici Cezar din Martie 25, 2009, 14:06:48 am citit articolul despre aceasta problema,dar tot nu inteleg tabelul pentru k par si n impar/par
Titlul: Răspuns: 778 Tablete Scris de: A Cosmina - vechi din Iulie 24, 2009, 18:23:10 am citit articolul despre aceasta problema,dar tot nu inteleg tabelul pentru k par si n impar/par Aceeasi problema o am si eu. :sad: Nu-mi dau seama care parte trebuie completata si nici cu ce. a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 a41 a42 a43 a44 Ar putea cineva sa-mi boldeze partea care se completeaza dupa reguli si sa-mi explice cum ? Din tabel nu inteleg ... :? Titlul: Răspuns: 778 Tablete Scris de: speedzeal din Iulie 24, 2009, 19:30:36 am citit articolul despre aceasta problema,dar tot nu inteleg tabelul pentru k par si n impar/par Ar putea cineva sa-mi boldeze partea care se completeaza dupa reguli si sa-mi explice cum ? Din tabel nu inteleg ... :?pt n 1 2 3 ... n . . . n^2-(n-1) ... n^2. Ce schimbari poti sa ii faci ca sa respecte conditiile din enunt?(am descoperit singur solutia asta si nu e cu formule) Titlul: Răspuns: 778 Tablete Scris de: Antoche Ioana Alexandra din Septembrie 15, 2009, 20:29:35 Cat trebuie sa dea o sursa de 100 pct pt k=1 sau pt n impar si k=n?
Trebuie sa fie doar coloana k para sau pot sa am mai multe coloane pare (inclusiv k)? Titlul: Răspuns: 778 Tablete Scris de: Andrei Grigorean din Septembrie 15, 2009, 20:52:31 Exista solutie pentru cazurile precizate de tine si poti avea mai multe coloane pare.
Titlul: Răspuns: 778 Tablete Scris de: Antoche Ioana Alexandra din Septembrie 15, 2009, 20:53:47 ok, multumesc! :)
LE: dak pe fiecare linie treb sa am a (i,j)<a(i,j+1) si k=1, avand in vedere ca numerele nu se repeta si trebuie sa le folosesc pe toate de la 1 la n^2, atunci cum il folosesc pe 1? 1 e minim! De asemenea, dak am n impar n*n=impar. elementele fiind in ordine crescatoare n*n=max in acelasi timp nu il pot avea pe ultima poz (unde se presupune ca e un elem par). Titlul: Răspuns: 778 Tablete Scris de: Andrei Grigorean din Septembrie 15, 2009, 23:25:20 Se pare ca m-am grabit si am spus prostii.
Nu exista solutie pentru K = 1, si nici pentru K = N cand N este impar. |