Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _USE_MATH_DEFINES
- #include <iostream>
- #include <string>
- #include <map>
- #include <set>
- #include <algorithm>
- #include <vector>
- #include <stdio.h>
- #include <cmath>
- #include <math.h>
- #include <queue>
- #include <stack>
- #include <climits>
- #include <deque>
- #include <ctime>
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef unsigned int ui;
- #define mh() make_heap()
- #define poph() pop_heap()
- #define pushh() push_heap()
- #define sor(n) n.begin(), n.end()
- #define mp make_pair
- #define files freopen("input.txt", "rt", stdin); freopen("output.txt", "wt", stdout)
- #define p(T) pair<T,T>
- #define formx(a1,b1,c1,a2,b2,c2) ((a1*c2-a2*c1)/(a1*b2-b1*a2))
- #define formy(a1,b1,c1,a2,b2,c2) ((c1*b2-c2*b1)/(a1*b2-b1*a2))
- #define forma(y1,y2) (y2-y1)
- #define formb(x1,x2) (x1-x2)
- #define formc(x1,y1,x2,y2) (x1*(y2-y1)-y1*(x2-x1))
- #define ras(x1,y1,x2,y2) sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
- struct cord
- {
- double x1, y1, x2, y2;
- };
- struct limcord
- {
- double x, y;
- bool good;
- };
- bool checkparal(double a1, double a2, double b1, double b2)
- {
- return a1 / b1 == a2 / b2;
- }
- limcord findt(cord c, cord now)
- {
- double a1 = forma(now.y1, now.y2);
- double b1 = formb(now.x1, now.x2);
- double c1 = formc(now.x1, now.y1, now.x2, now.y2);
- double a2 = forma(c.y1, c.y2);
- double b2 = formb(c.x1, c.x2);
- double c2 = formc(c.x1, c.y1, c.x2, c.y2);
- if (!checkparal(a1, a2, b1, b2))
- {
- double x = formx(a1, b1, c1, a2, b2, c2);
- double y = formy(a1, b1, c1, a2, b2, c2);
- return{ x,y, true };
- }
- else
- {
- return{ NULL,NULL, false };
- }
- }
- bool checkT(limcord now, cord ot)
- {
- if (ras(ot.x1, ot.y1, ot.x2, ot.y2) == ras(ot.x1, ot.y1, now.x, now.y) + ras(ot.x2, ot.y2, now.x, now.y))
- return true;
- else
- return false;
- }
- vector <ll> fib;
- void aadfib()
- {
- fib.push_back(1);
- fib.push_back(1);
- for (int i = 3; i <= 1e7; i++)
- {
- fib.push_back(fib[i - 1] + fib[i - 2]);
- }
- }
- #define formk(x1,x2,y1,y2) (y1 - y2) / (x1 - x2)
- #define formbk(k,x2,y2) y2 - k * x2
- int main()
- {
- files;
- int answ[81] = { 10, 45, 165, 495, 1287, 3003, 6435, 12870, 24310, 43749, 75501, 125565, 202005, 315315, 478731, 708444, 1023660, 1446445, 2001285, 2714319, 3612231, 4720815, 6063255, 7658190, 9517662, 11645073, 14033305, 16663185, 19502505, 22505751, 25614639, 28759500, 31861500, 34835625, 37594305, 40051495, 42126975, 43750575, 44865975, 45433800, 45433800, 44865975, 43750575, 42126975, 40051495, 37594305, 34835625, 31861500, 28759500, 25614639, 22505751, 19502505, 16663185, 14033305, 11645073, 9517662, 7658190, 6063255, 4720815, 3612231, 2714319, 2001285, 1446445, 1023660, 708444, 478731, 315315, 202005, 125565, 75501, 43749, 24310, 12870, 6435, 3003, 1287, 495, 165, 45, 9, 1 };
- int n;
- cin >> n;
- cout << answ[n - 1];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement