#include <iostream>
#include <vector>
#include <stdlib.h>
using namespace std;
void initialize_matrix(vector< vector<int> > &a, int m, int n)
{
int i, j;
// make sure the matrix has the given number of rows,
// and that each row has the right number of elements
// one for each column; number of rows is m, number of
// columns is n
a.resize(m);
for (i=0; i<m; i++)
a[i].resize(n);
// generate the matrix
for (i=0; i<m; i++)
for (j=0; j<n; j++)
a[i][j] = drand48()*101; // random integer from 0 to 100
}
void print_matrix(vector< vector<int> > &a)
{
int i, j;
int m = a.size();
int n = a[0].size();
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
cout << a[i][j] << " ";
cout << endl;
}
}
int main()
{
int m, n;
vector< vector<int> > a;
// read matrix size from input
cin >> m;
cin >> n;
// set random seed
srand48(123);
// initialize the matrix
initialize_matrix(a, m, n);
// print the matrix
print_matrix(a);
// return 0 from main
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RkbGliLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBpbml0aWFsaXplX21hdHJpeCh2ZWN0b3I8IHZlY3RvcjxpbnQ+ID4gJmEsIGludCBtLCBpbnQgbikKewogIGludCBpLCBqOwoKICAvLyBtYWtlIHN1cmUgdGhlIG1hdHJpeCBoYXMgdGhlIGdpdmVuIG51bWJlciBvZiByb3dzLAogIC8vIGFuZCB0aGF0IGVhY2ggcm93IGhhcyB0aGUgcmlnaHQgbnVtYmVyIG9mIGVsZW1lbnRzCiAgLy8gb25lIGZvciBlYWNoIGNvbHVtbjsgbnVtYmVyIG9mIHJvd3MgaXMgbSwgbnVtYmVyIG9mCiAgLy8gY29sdW1ucyBpcyBuCgogIGEucmVzaXplKG0pOwoKICBmb3IgKGk9MDsgaTxtOyBpKyspCiAgICBhW2ldLnJlc2l6ZShuKTsKCiAgLy8gZ2VuZXJhdGUgdGhlIG1hdHJpeAoKICBmb3IgKGk9MDsgaTxtOyBpKyspCiAgICBmb3IgKGo9MDsgajxuOyBqKyspCiAgICAgIGFbaV1bal0gPSBkcmFuZDQ4KCkqMTAxOyAvLyByYW5kb20gaW50ZWdlciBmcm9tIDAgdG8gMTAwCn0KCnZvaWQgcHJpbnRfbWF0cml4KHZlY3RvcjwgdmVjdG9yPGludD4gPiAmYSkKewogIGludCBpLCBqOwogIGludCBtID0gYS5zaXplKCk7CiAgaW50IG4gPSBhWzBdLnNpemUoKTsKCiAgZm9yIChpPTA7IGk8bTsgaSsrKQogICAgewogICAgICBmb3IgKGo9MDsgajxuOyBqKyspCgljb3V0IDw8IGFbaV1bal0gPDwgIiAiOwogICAgICBjb3V0IDw8IGVuZGw7CiAgICB9Cn0KCmludCBtYWluKCkKewogIGludCBtLCBuOwogIHZlY3RvcjwgdmVjdG9yPGludD4gPiBhOwoKICAvLyByZWFkIG1hdHJpeCBzaXplIGZyb20gaW5wdXQKIAogIGNpbiA+PiBtOwogIGNpbiA+PiBuOwoKICAvLyBzZXQgcmFuZG9tIHNlZWQKCiAgc3JhbmQ0OCgxMjMpOwoKICAvLyBpbml0aWFsaXplIHRoZSBtYXRyaXgKCiAgaW5pdGlhbGl6ZV9tYXRyaXgoYSwgbSwgbik7CiAgCgogIC8vIHByaW50IHRoZSBtYXRyaXgKICAKICBwcmludF9tYXRyaXgoYSk7CgogIC8vIHJldHVybiAwIGZyb20gbWFpbgoKICByZXR1cm4gMDsKfQo=