#include <algorithm>
#include <string>
#include <iostream>
int main()
{
std::string s = "aba";
std::sort(s.begin(), s.end());
do {
std::cout << s << '\n';
} while(std::next_permutation(s.begin(), s.end()));
}
std::vector<int> heights{18, 10, 15, 20, 20, 10, 3} ;
size_t bestLen = 0;
size_t bestIndex = 0;
// путь не может быть проложен из последних двух вершин
for(size_t i = 0; i < heights.size() - 2; ++i)
{
// начало пути должно быть в гору
if(heights[i + 1] <= heights[i])continue;
// прокладываем путь до ближайшего спуска
for(size_t j = i + 2; j < heights.size(); ++j)
{
if(heights[j] > heights[j-1])break; // подъём встретился до спуска, решение заведомо неоптимально
if(heights[j] < heights[j-1])
{
size_t len = j - i;
if(len < bestLen || bestLen == 0)
{
bestLen = len;
bestIndex = i;
}
break;
}
}
}
if(bestLen == 0)
{
std::cout << 0 << std::endl;
}
else
{
std::cout << bestIndex + 1 << " " << bestIndex + bestLen + 1 << std::endl;
}
#include<iostream>
#include<vector>
using namespace std;
template<typename T>
class Matrix
{
size_t cols;
size_t rows;
vector<vector<T>> m_matrix;
public:
Matrix(size_t c, size_t r) : cols{c}, rows{r}, m_matrix{}
{
m_matrix.reserve(cols);
for(auto i{0}; i < cols; ++i)
{
m_matrix.emplace_back(vector<T>(rows));
}
}
auto begin()
{
return m_matrix.begin();
}
auto end()
{
return m_matrix.end();
}
vector<T>& operator[](size_t i)
{
return m_matrix[i];
}
//...
};
int main()
{
Matrix<int> m(10,10);
m[5][5] = 5;
for(auto& c : m)
{
for(auto& e : c)
{
cout << e << ' ';
}
cout << endl;
}
return 0;
}
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 5 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
То исть как начать думать как программист, а не как кодер.
HTML/CSS, Bootstap, Javascript, PHP, Python
Bitrix, Wordpress, Joomla, Opencart, ModX
вопрос оплаты труда волнует меня в последнюю очередь
с позиции нуба и чайника, нравится эта сфера, процесс обучения доставляет удовольствие.
Никто ведь не захочет тратить 90% времени в вузе на учебу, а потом 95% из взрослой жизни.
А трудоустройство, правда ли, что работодатель зачастую требует знания новых технологий, которым там максимум полгода, а у тебя с ними должно уже быть несколько проектов?
тем более что профессия подразумевает многочисленные болезни
И что делать, если ты занимаешься одним, а в один момент это становиться неактуальным - учить что-то новое заново?