Afişează mesaje
|
|
Pagini: [1]
|
|
2
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 691 Fibo
|
: Ianuarie 02, 2011, 00:18:07
|
Ce as putea sa mai imbunatatesc la sursa asta ca sa imi iasa si ultimul test, ca practic solutia e cea oficiala.. #include<cstdio> #include<cstring> #include<bitset>
using namespace std; #define DIM 31
int N, M=30, sol=1;
int fib[DIM] = {0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269}; inline int verif(int val) { int max=0; register int i=M; bitset <DIM> aux; while(val<fib[i]) --i; val-=fib[i]; aux[i]=1; if(i>max) max=i; for(; i && val; --i) { while(val<fib[i]) --i; val-=fib[i]; aux[i]=1; } for(i=1; i<=max/2; ++i) if(aux[i]!=aux[max-i+1]) return 0; return 1; } int main() { freopen("fibo.in","r",stdin); freopen("fibo.out","w",stdout); register int i; scanf("%d",&N); for(i=2; i<=N; ++i) sol+=verif(i); printf("%d\n",sol); return 0; }
|
|
|
|
|
5
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 1091 Kbiti
|
: Decembrie 29, 2010, 22:51:24
|
Puteti va rog sa ma ajutati sa-mi spuneti ce anume este gresit in sursa mea? Iau 90p si chiar nu inteleg unde este greseala... #include<cstdio> #include<cstring>
using namespace std;
int main() { freopen("kbiti.in","r",stdin); freopen("kbiti.out","w",stdout); char sir[32]; int T, i, j; long long int sol; scanf("%d\n",&T); while(T--) { scanf("%s",sir); for(sol=0, i=strlen(sir)-1, j=0; i>=0; i--, j++) sol+=(long long int)(sir[i]-'0')*(long long int)(1<<j); printf("%lld\n",++sol); } return 0; }
|
|
|
|
|
7
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 482 Pluton
|
: Mai 11, 2009, 21:59:46
|
|
deci iau fara probleme 100 puncte folosind in problema o sortare cu 2 foruri n²... cand am incercat sa folosesc sort-ul din STL pe o structura am luat 93 puncte... nu fac decat sa schimb numele vectorului si sa bag intr-o structura 2 date in loc sa folosesc 2 vectori.. in rest programul e identic.. aveti idee care poate fi problema?
|
|
|
|
|
10
|
infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 474 Teams
|
: Mai 10, 2009, 21:08:22
|
|
sortez vectoru si pt fiecare element folosesc cautarea binara pt a cauta cea mai mica pozitie din vector pt care se poate forma o pereche si cea mai mare pozitie. apoi daca elementul meu initial se afla in interval sau capete, la solutie adaug doar poz2-poz1, altfel adaug sol+=poz2-poz1+1; unde gresesc?
va rog frumos, ati putea posta inca un test din cele date? eu iau 0 puncte si pe testele mele sursa merge bine....
|
|
|
|
|