@above Correction:
int a=2*m-1; b=m/2, k=m/2, r=a; while(--k) { b*=k; r-=2; a*=r;} printf("%d", a*pow(2, (m+1)/2) / b); On Dec 16, 7:09 pm, Lucifer <sourabhd2...@gmail.com> wrote: > @All > > As i see this question is more about the size of code than runtime.. > Hence, my next post might not help a lot on the front of size but may > help in case u look at runtime.. If not of interest plz do skip this > post.. > > // M muls... > > int a=2*m-1; b=m/2, k=m/2; while(--k) { b*=k; a*=(a-2); a- > =2;} printf("%d", a*pow(2, (m+1)/2) / b); > > On Dec 16, 6:39 pm, Lucifer <sourabhd2...@gmail.com> wrote: > > > > > > > > > @above > > Correction.. its 2m C m > > > @saurabh.. > > Sorry i missed your post.. seems that u are doing exactly the same.. > > > Just a suggestion.. to make the code run faster, we can store f(n) in > > a variable and then use it in the expression to avoid recalculation > > of !(n) > > i,e t = f(m); > > printf("%d", f(2*m) / pow(t,2) ); > > //In the original code we are making 4m multiplications.. in the above > > given one we are doing 3m multiplcations.. > > > We can further optimize (2m muls and m adds).. > > > Further optimization could be: > > int a=2*m; b=m, k=m; > > while(--k) > > { b*=k; a*=(k+m);} > > printf("%d", a/b); > > > On Dec 16, 6:14 pm, Lucifer <sourabhd2...@gmail.com> wrote: > > > > @anubhav.. > > > > Its 2n C n... > > > > Basically they are asking u to finds no. of paths that can be formed > > > using m Tops and m rights..which is nothing but no. of unique ways of > > > arranging m T's and m R's .. i,e 2n C n > > > > On Dec 16, 5:38 pm, sourabh singh <singhsourab...@gmail.com> wrote: > > > > > limit is just v.smll can ny1 help me with this code: [ c code ] get it > > > > under 120 bytes . > > > > is there any way to take inputs. without using scanf ??? in c . m > > > > thinking about inputs getting into > > > > argc array directly.??? > > > > > #define s(n) scanf("%d",&n); > > > > f(int n){return n==1?1:(n*f(n-1));} > > > > main() > > > > { > > > > int t,n; > > > > s(t) > > > > while(t--) > > > > { s(n) > > > > printf("%d",(f(2*n)/f(n))/f(n)); > > > > } > > > > > } > > > > On Thu, Dec 15, 2011 at 10:08 PM, anubhav raj <anubhaw....@gmail.com> > > > > wrote: > > > > > #include<stdio.h> > > > > > #define s(n) scanf("%d",&n) > > > > > #define I int > > > > > I a[14][14]; > > > > > I d(I m,I n) > > > > > { > > > > > I s=a[m][n]; > > > > > I k; > > > > > if(!m||!n) > > > > > k=1; > > > > > else if(s) > > > > > k=s; > > > > > else > > > > > { > > > > > k=d(m-1,n)+d(m,n-1); > > > > > s=k; > > > > > } > > > > > return k; > > > > > } > > > > > main() > > > > > { > > > > > I t,n,k;s(t); > > > > > while(t--) > > > > > { > > > > > s(n); > > > > > k=d(n,n); > > > > > printf("%d\n",k); > > > > > } > > > > > } > > > > > > @saurav:this is the actual and very simple code...........may be u cn > > > > > reduce its no of bytes........its simple dp approach...tnx.... > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > > > Groups > > > > > "Algorithm Geeks" group. > > > > > To post to this group, send email to algogeeks@googlegroups.com. > > > > > To unsubscribe from this group, send email to > > > > > algogeeks+unsubscr...@googlegroups.com. > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/algogeeks?hl=en. -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.