Изобретение |
Страна, период |
Изобретатель(и) |
Значение |
Токарный станок |
Англия, около 1800 г. |
Генри Модели |
Замена ручного труда в трех операциях — производство машин при помощи машин |
Автоматический ткацкий станок |
Франция, нач. XIX в. |
Жозеф Мари Жаккар |
Механическое нанесение рисунка на ткань |
Конвертер |
Англия, 1856 г. |
Генри Бессемер |
Новая технология выплавки стали, уменьшение промежуточных операций, повышение эффективности производства |
Мартеновская печь |
Франция, середина XIX в. |
Эмиль и Пьер Мартены |
Производство высокока- чественной стали |
Пароход |
Франция, США, 1803- 1807 гг. |
Роберт Фултон |
Увеличение скорости доставки пассажиров и грузов |
Авто- мобиль с паровым двигате- лем |
США, Англия, 1803 г. |
Оливер Эванс, Ричард Тревитик |
Увеличение скорости пе- редвижения |
Паровоз, строи- тельство железных дорог |
Англия, 1825 г. |
Джордж Стефенсон |
Развитие транспорта, рост добычи угля, разви- тие торговли, освоение новых земель |
Первый железно- дорожный висячий мост |
Англия, США 1818- 1830-е гг. |
Томас Тел форд, Иоганн Реблинг |
Увеличение скорости же- лезнодорожных перево- зок пассажиров и грузов |
Электро- поезд |
Германия, 1879 г. |
Эрнст Вернер Сименс |
Развитие пригородного и междугороднего транс- порта |
Авто- мобиль с бензи- новым двигателем |
Германия, 1885 г. |
Карл Бенц |
Увеличение скорости пе- редвижения до 15 км/ч |
Прообраз современного автомобиля |
Германия, 1895 г. |
Готлиб Даймлер |
Начало новой эры в автомобилестроении |
Телеграф, азбука Морзе |
США, 1844 г. |
Сэмюэл Морзе |
Рост скорости передачи информации |
Прокладка телеграфного кабеля |
Англия, Бельгия, 1850- 1860-е гг. |
_ |
Увеличение скорости передачи информации между странами и континентами |
vector< vector<long long int> > a;
int step(int n, int k){ //cout << n << " " << k << endl; if((n == 0) || (k == 0) || (n == k)) return 1; long long int tmp1, tmp2;
if(a[n - 1][k - 1] == 0) a[n - 1][k - 1] = step(n - 1, k - 1); tmp1 = a[n - 1][k - 1]; if(a[n - 1][k] == 0) a[n - 1][k] = step(n - 1, k); tmp2 = a[n - 1][k];
return tmp1 + tmp2;}
int main(void){ int n, k; cin >> n >> k;
a.resize(n); for(size_t j = 0; j < a.size(); j++) for(size_t i = 0; i < n; i++) a[j].push_back(0);
cout << step(n, k) << endl;}