To be used in DP problems:
vector<vector<int>>dp; //global init
dp = vector<vector<int>>(n,vector<int>(m,0)); // local init for test cases
where,
n, m = dimensions of matrix
auto M = 4; // num of rows
auto N = 3; // num of cols in each row
auto default_value = 1; // default value of all int elements
std::vector<std::vector<int>> matrix(M, std::vector<int>(N, default_value));
vector<vector<int>> vec( n , vector<int> (m, 0));
where: n is number of ROWS,
m is number of COLUMNS
So result will be ( Let n = 2, m = 3 )
[[ 0, 0, 0],
[ 0, 0, 0]]
( 2 x 3 )
#include<vector>
#include<algorithm>
// all the std and main syntax ofcourse.
vector<int> pack = {1,2,3} ;
// To add at the END
pack.push_back(6); // {1,2,3,6}
// OR
// To add at BEGGINING
pack.insert(pack.begin(),6) // {6,1,2,3,}
// CPP program
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n = 3;
int m = 4;
/*
We create a 2D vector containing "n"
elements each having the value "vector<int> (m, 0)".
"vector<int> (m, 0)" means a vector having "m"
elements each of value "0".
Here these elements are vectors.
*/
vector<vector<int>> vec( n , vector<int> (m, 0));
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
cout << vec[i][j] << " ";
}
cout<< endl;
}
return 0;
}