Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #pragma hdrstop
- #include <fstream>
- #include <iomanip>
- #include "pt4.h"
- void fil(double **a, int n)
- {
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- a[i][j] = 0;
- }
- }
- }
- void way(ifstream &fin, double **a, int n)
- {
- while(!fin.eof())
- {
- int i, j;
- fin >> i >> j;
- a[i - 1][j - 1] = -1;
- }
- bool fl = true;
- for (int i = 0; i < n && fl; i++)
- {
- if (a[0][i] == 0)
- a[0][i]++;
- else
- fl = false;
- }
- for (int i = 1; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- if (a[i][j] != -1.0)
- {
- if(j == 0)
- {
- if (a[i - 1][j] == -1.0)
- {
- a[i][j] = -1.0;
- }
- else
- {
- a[i][j] += a[i - 1][j];
- }
- }
- else
- {
- if ((a[i - 1][j] == -1) && (a[i][j - 1] == -1))
- {
- a[i][j] = -1.0;
- }
- else if((a[i - 1][j] == -1) && (a[i][j - 1] != -1))
- {
- a[i][j] += a[i][j - 1];
- }
- else if((a[i - 1][j] != -1) && (a[i][j - 1] == -1))
- {
- a[i][j] += a[i - 1][j];
- }
- else
- {
- a[i][j] += (a[i][j - 1] + a[i - 1][j]);
- }
- }
- }
- }
- }
- }
- void Solve()
- {
- Task("Dyn7");
- string f1, f2;
- pt >> f1 >> f2;
- ifstream fin(f1.c_str());
- ofstream fout(f2.c_str());
- int n;
- fin >> n;
- double **a = new double *[n];
- for (int i = 0; i < n; i++)
- a[i] = new double[n];
- fil(a, n);
- way(fin, a, n);
- if(a[n - 1][n - 1] == -1)
- fout << 0;
- else
- fout << fixed << setprecision(0) << a[n - 1][n - 1];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement