PDA

View Full Version : Urgent Help Needed


mkjuly
10-14-2006, 03:12 PM
Hey ppl i found this code on the net but im not able to make head or tail out of it, so im givin u the ques and this is the solution to this code so can someone please explain to me what this code is doing!!!!!!!!!!!!!!!!!!!!!!!!
PS the code is working perfectly for all the test cases..and plzzzz itz kinda urgent

QUESTION
Given is an alphabet {0, 1, ... , k}, 0 <= k <= 9 . We say that a word of length n over this alphabet is tight if any two neighbour digits in the word do not differ by more than 1.

Input is a sequence of lines, each line contains two integer numbers k and n, 1 <= n <= 100. For each line of input, output the percentage of tight words of length n over the alphabet {0, 1, ... , k} with 5 fractional digits.
Sample input

4 1
2 5
3 5
8 7

Output for the sample input

100.00000
40.74074
17.38281
0.10130

SOLUTION
#include <stdio.h>

double x[100][10]; double s;

main(){
int i,j,k,n;
while (2 == scanf("%d%d",&k,&n)){
k++;
for (i=0;i<n;i++) for (j=0;j<k;j++) x[i][j] = 0;
for (i=0;i<k;i++) x[0][i] = 100.0/k;
for (i=1;i<n;i++) {
for (j=0;j<k;j++) x[i][j] += x[i-1][j]/k;
for (j=1;j<k;j++) x[i][j] += x[i-1][j-1]/k;
for (j=0;j<k-1;j++) x[i][j] += x[i-1][j+1]/k;
}
for (s=i=0;i<k;i++) s += x[n-1][i];
printf("%0.5lf\n",s);
}
}

Spookster
10-14-2006, 03:21 PM
So let me take a guess here...you had a homework assignment to do but instead of doing it you found some code on the Internet that might work but doesn't quite work and you want us to help you fix it? And the reason it's urgent is because the assignment is due soon?