#include <iostream>
using namespace std;
int** allocMatrix2D(int dim1, int dim2);
void deleteMatrix2D(int**& matrix2d, unsigned int dim1);
int main(void)
{
int szerokosc = 20; //17
int wysokosc = 21; //25
int** SiatkaPlanszy = allocMatrix2D(szerokosc, wysokosc);
for( int lw = 0; lw < wysokosc; lw++)
SiatkaPlanszy[0][lw] = -1;
for( int pw = 0; pw < wysokosc; pw++)
SiatkaPlanszy[szerokosc-1][pw] = -1;
for( int p = 0; p < szerokosc; p++)
SiatkaPlanszy[p][wysokosc-1] = -1;
deleteMatrix2D(SiatkaPlanszy, szerokosc);
}
int** allocMatrix2D(int dim1, int dim2)
{
int** matrix2d = new int*[dim1];
for(int i = 0; i < dim1; i++)
{
matrix2d[i] = new int[dim2];
}
return matrix2d;
}
void deleteMatrix2D(int**& matrix2d, unsigned int dim1)
{
for(int i = 0; i < dim1; i++)
delete [] matrix2d[i];
delete [] matrix2d;
matrix2d = 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogIAppbnQqKiBhbGxvY01hdHJpeDJEKGludCBkaW0xLCBpbnQgZGltMik7CnZvaWQgZGVsZXRlTWF0cml4MkQoaW50KiomIG1hdHJpeDJkLCB1bnNpZ25lZCBpbnQgZGltMSk7CgppbnQgbWFpbih2b2lkKSAKewogICAgaW50IHN6ZXJva29zYyA9IDIwOyAvLzE3CiAgICBpbnQgd3lzb2tvc2MgPSAyMTsgLy8yNQoKICAgIGludCoqIFNpYXRrYVBsYW5zenkgPSBhbGxvY01hdHJpeDJEKHN6ZXJva29zYywgd3lzb2tvc2MpOwogCiAgICBmb3IoIGludCBsdyA9IDA7IGx3IDwgd3lzb2tvc2M7IGx3KyspCiAgICAgICAgU2lhdGthUGxhbnN6eVswXVtsd10gPSAtMTsKIAogICAgZm9yKCBpbnQgcHcgPSAwOyBwdyA8IHd5c29rb3NjOyBwdysrKQogICAgICAgIFNpYXRrYVBsYW5zenlbc3plcm9rb3NjLTFdW3B3XSA9IC0xOwogCiAgICBmb3IoIGludCBwID0gMDsgcCA8IHN6ZXJva29zYzsgcCsrKQogICAgICAgIFNpYXRrYVBsYW5zenlbcF1bd3lzb2tvc2MtMV0gPSAtMTsKIAogICAgZGVsZXRlTWF0cml4MkQoU2lhdGthUGxhbnN6eSwgc3plcm9rb3NjKTsKfQogCmludCoqIGFsbG9jTWF0cml4MkQoaW50IGRpbTEsIGludCBkaW0yKSAKewogICAgaW50KiogbWF0cml4MmQgPSBuZXcgaW50KltkaW0xXTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBkaW0xOyBpKyspCiAgICB7CiAgICAgICAgbWF0cml4MmRbaV0gPSBuZXcgaW50W2RpbTJdOwogICAgfQogICAgcmV0dXJuIG1hdHJpeDJkOwp9CiAKdm9pZCBkZWxldGVNYXRyaXgyRChpbnQqKiYgbWF0cml4MmQsIHVuc2lnbmVkIGludCBkaW0xKSAKewogICAgZm9yKGludCBpID0gMDsgaSA8IGRpbTE7IGkrKykKICAgICAgICBkZWxldGUgW10gbWF0cml4MmRbaV07CgogICAgZGVsZXRlIFtdIG1hdHJpeDJkOwogICAgbWF0cml4MmQgPSAwOwp9