#include <stdio.h>
#include <stdlib.h>
// 必要があれば変数などを追加してもOKです
int main() {
int i, j;
int a, b;
int **mat;
// ここで2次元配列の動的確保をする
mat
= (int **)malloc(a
* sizeof(int *)); // 各行のポインター配列を確保 for(i = 0; i < a; i++) {
mat
[i
] = (int *)malloc(b
* sizeof(int)); // 各行の配列を確保 }
// ここで2次元配列に数値を代入する
int count = 1;
for(i = 0; i < a; i++) {
for(j = 0; j < b; j++) {
mat[i][j] = count++; // 1から順に代入
}
}
// 以下の部分は表示の部分です(いじらなくてOK)
for(i = 0; i < a; i++) {
for(j = 0; j < b; j++) {
}
}
// さて,最後に忘れずにすることと言えば?
// メモリ解放
for(i = 0; i < a; i++) {
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8vIOW/heimgeOBjOOBguOCjOOBsOWkieaVsOOBquOBqeOCkui/veWKoOOBl+OBpuOCgk9L44Gn44GZCgppbnQgbWFpbigpIHsKICAgIGludCBpLCBqOwogICAgaW50IGEsIGI7CiAgICBpbnQgKiptYXQ7IAogICAgCiAgICBzY2FuZigiJWQgJWQiLCAmYSwgJmIpOwoKICAgIC8vIOOBk+OBk+OBpzLmrKHlhYPphY3liJfjga7li5XnmoTnorrkv53jgpLjgZnjgosKICAgIG1hdCA9IChpbnQgKiopbWFsbG9jKGEgKiBzaXplb2YoaW50ICopKTsgLy8g5ZCE6KGM44Gu44Od44Kk44Oz44K/44O86YWN5YiX44KS56K65L+dCiAgICBmb3IoaSA9IDA7IGkgPCBhOyBpKyspIHsKICAgICAgICBtYXRbaV0gPSAoaW50ICopbWFsbG9jKGIgKiBzaXplb2YoaW50KSk7IC8vIOWQhOihjOOBrumFjeWIl+OCkueiuuS/nQogICAgfQoKICAgIC8vIOOBk+OBk+OBpzLmrKHlhYPphY3liJfjgavmlbDlgKTjgpLku6PlhaXjgZnjgosKICAgIGludCBjb3VudCA9IDE7CiAgICBmb3IoaSA9IDA7IGkgPCBhOyBpKyspIHsKICAgICAgICBmb3IoaiA9IDA7IGogPCBiOyBqKyspIHsKICAgICAgICAgICAgbWF0W2ldW2pdID0gY291bnQrKzsgLy8gMeOBi+OCiemghuOBq+S7o+WFpQogICAgICAgIH0KICAgIH0KCiAgICAvLyDku6XkuIvjga7pg6jliIbjga/ooajnpLrjga7pg6jliIbjgafjgZnvvIjjgYTjgZjjgonjgarjgY/jgaZPS++8iQogICAgZm9yKGkgPSAwOyBpIDwgYTsgaSsrKSB7CiAgICAgICAgZm9yKGogPSAwOyBqIDwgYjsgaisrKSB7CiAgICAgICAgICAgIHByaW50ZigiJWQgIiwgbWF0W2ldW2pdKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQoKICAgIC8vIOOBleOBpu+8jOacgOW+jOOBq+W/mOOCjOOBmuOBq+OBmeOCi+OBk+OBqOOBqOiogOOBiOOBsO+8nwogICAgLy8g44Oh44Oi44Oq6Kej5pS+CiAgICBmb3IoaSA9IDA7IGkgPCBhOyBpKyspIHsKICAgICAgICBmcmVlKG1hdFtpXSk7IAogICAgfQogICAgZnJlZShtYXQpOyAKCiAgICByZXR1cm4gMDsKfQ==