15 Mar 2013

Random decreasing function_SOLVED

/*

CODECHEF
PROBLEM CODE : RDF

*/

#include <stdio.h>

inline int getn() 
{
  int n=0, c=getchar_unlocked();
  while(c < '0' || c > '9') 
      c = getchar_unlocked();
  while(c >= '0' && c <= '9')
      n = (n<<3) + (n<<1) + c - '0', c = getchar_unlocked();
  return n;
}

double a[100001][31] = {{0}};

int main()
{
int T = getn(), N, K, i,j;
a[2][1] = 0.5, a[3][1] = 1.0, a[3][2] = 1.0/6.0;
 
for(i = 4; i < 100001; i++) 
{
  for(j = 1; j <= 30 && j < i; j++)
   {
    if(j == 1) 
      a[i][j] = a[i-1][j] + 0.5;
    else a[i][j] = (a[i-1][j-1] + a[i-1][j]*(i-1))/(double)i;
    if(a[i][j] <= 1.0/500000.0) 
      break;
   }
}
while(T--)
 {
   N = getn(), K = getn();
   if(!K) 
     printf("%d\n",N);
   else if(K <= 30 && N > K) 
    printf("%.7lf\n",a[N][K]);
   else 
    printf("0\n");
  } 

return 0;
}

Categories: , , ,

Related Posts:

  • The Next Palindrome_SOLVED /* CODECHEF PROBLEM CODE : PALIN */ #include <stdio.h> #include <stdlib.h> #include <string.h> char K[1000002]; int flag; int main()  { int t,i; scanf("%d\n",&t); for(i=… Read More
  • The Matrix Game_SOLVED /* CODECHEF PROBLEM CODE : SNCK01 */ #include <stdio.h> #define N 51 int M[N][N]; int main() { int n,m,sg,t,r,i,j; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=… Read More
  • Logging Game_SOLVED /*CODECHEFPROBLEM CODE : LOGGERS */#include<stdio.h>  int sgtable[251]={… Read More
  • Bonus_SOLVED /*CODECHEFPROBLEM CODE : ACMKANPB*/#include <stdio.h> int main(){int fall, i, c, n, m, l, t, j, x[4][10100]; for(scanf("%d",&fall); fall--;) { for(i=!!scanf("%d %d %d",&n,&m,&l); i<=m; x[0][i… Read More
  • Tautology_SOLVED /* CODECHEF PROBLEM CODE : TAUT */ #include <stdio.h> #include <string.h>#define S(a,b,c) (b=(a)?(c):(b)) int f[30];char z[3][130]; int A(int q, int w){if(q>=w) return B()+(f[28]=0);if(!… Read More

0 comments:

Post a Comment

Copyright © 2025 UPgradeCODING | Powered by Blogger