File tree 1 file changed +44
-0
lines changed
1 file changed +44
-0
lines changed Original file line number Diff line number Diff line change
1
+ // Link problem : https://www.spoj.com/problems/ELDORADO/
2
+
3
+ #include < stdio.h>
4
+ #include < algorithm>
5
+
6
+ int main ()
7
+ {
8
+ int numbers, chainlen;
9
+ int number[128 ];
10
+ long long ways[2 ][128 ];
11
+ int i, j, k;
12
+ long long totways;
13
+
14
+ while ((scanf (" %d%d" , &numbers, &chainlen) == 2 ) && numbers)
15
+ {
16
+ for (i = 0 ; i < numbers; i++)
17
+ scanf (" %d" , &number[i]);
18
+ for (i = 0 ; i < numbers; i++)
19
+ ways[1 ][i] = 1 ;
20
+
21
+ for (j = 2 ; j <= chainlen; j++)
22
+ {
23
+ for (i = 0 ; i < numbers; i++)
24
+ {
25
+ ways[j % 2 ][i] = 0 ;
26
+
27
+ for (k = 0 ; k < i; k++)
28
+ {
29
+ if (number[k] < number[i])
30
+ {
31
+ ways[j % 2 ][i] += ways[((j % 2 ) + 1 ) % 2 ][k];
32
+ }
33
+ }
34
+ }
35
+ }
36
+ totways = 0 ;
37
+
38
+ for (i = 0 ; i < numbers; i++)
39
+ totways += ways[chainlen % 2 ][i];
40
+
41
+ printf (" %lld\n " , totways);
42
+ }
43
+ return 0 ;
44
+ }
You can’t perform that action at this time.
0 commit comments