Advertisement
Guest User

Dyn6

a guest
Jan 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <windows.h>
  2. #pragma hdrstop
  3. #include "pt4.h"
  4. #include <fstream>
  5. using namespace std;
  6.  
  7. void Solve()
  8. {
  9. Task("Dyn6");
  10. string FN_IN, FN_OUT;
  11. pt >> FN_IN >> FN_OUT;
  12. ifstream F_IN(FN_IN);
  13. int n, l, i;
  14. F_IN >> n >> l;
  15. int *a = new int[n]; //для лягух
  16. for (i = 0; i < n; i++)
  17. a[i] = 0;
  18. while (F_IN.peek() != EOF){
  19. F_IN >> i;
  20. a[i + 1]++; //там вводятся не индексы, а номера позиций
  21. }
  22. int *d = new int[n]; // для путей
  23. d[0] = 1;
  24. for (int two = 1, i = 1; i <= l; i++, two *= 2)
  25. if (!a[i])
  26. d[i] = two;
  27. for (; i < n; i++)
  28. d[i] = 0;
  29. for (i = l + 1; i < n; i++){
  30. for (int j = 1; j < l; j++){
  31. if (a[i] == 0)
  32. d[i] += d[i - j];
  33. else
  34. d[i] = 0;
  35. }
  36. }
  37. ofstream F_OUT(FN_OUT);
  38. F_OUT << d[n - 1];
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement