Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #pragma hdrstop
- #include "pt4.h"
- #include <fstream>
- using namespace std;
- void Solve()
- {
- Task("Dyn6");
- string FN_IN, FN_OUT;
- pt >> FN_IN >> FN_OUT;
- ifstream F_IN(FN_IN);
- int n, l, i;
- F_IN >> n >> l;
- int *a = new int[n]; //для лягух
- for (i = 0; i < n; i++)
- a[i] = 0;
- while (F_IN.peek() != EOF){
- F_IN >> i;
- a[i + 1]++; //там вводятся не индексы, а номера позиций
- }
- int *d = new int[n]; // для путей
- d[0] = 1;
- for (int two = 1, i = 1; i <= l; i++, two *= 2)
- if (!a[i])
- d[i] = two;
- for (; i < n; i++)
- d[i] = 0;
- for (i = l + 1; i < n; i++){
- for (int j = 1; j < l; j++){
- if (a[i] == 0)
- d[i] += d[i - j];
- else
- d[i] = 0;
- }
- }
- ofstream F_OUT(FN_OUT);
- F_OUT << d[n - 1];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement