#include <stdio.h>
#include <stdlib.h>
//必要があれば変数などを追加してもOKです
int main(){
int i,j,k=1;
int a,b;
int **mat;
scanf("%d %d",&a
,&b
);//2,3で考える
//ここで2次元配列の動的確保をする
/*mat = (int**)malloc(sizeof(int)*a*b);*///この書き方だとダメだった
//※列と行はそれぞれ動的確保の必要あり
//行の動的確保
mat
= (int**)malloc(sizeof(int*) * a
);//int** = int型のポインタのポインタ //エラーの処理
if(mat == NULL){
return 0;
}
//各行ごとに列の動的確保
for(i=0;i<a;i++){
mat
[i
] = (int*)malloc(sizeof(int) * b
); //エラーの処理
if(mat == NULL){
return 0;
}
}
//ここで2次元配列に数値を代入する
for(i=0;i<a;i++){
for(j=0;j<b;j++){
mat[i][j] = k++;
}
}
//以下の部分は表示の部分です
//いじらなくてOK
for(i=0;i<a;i++){
for(j=0;j<b;j++){
}
}
//さて,最後に忘れずにすることと言えば?
for(i=0;i<a;i++){
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCi8v5b+F6KaB44GM44GC44KM44Gw5aSJ5pWw44Gq44Gp44KS6L+95Yqg44GX44Gm44KCT0vjgafjgZkKCmludCBtYWluKCl7CiAgICBpbnQgaSxqLGs9MTsKICAgIGludCBhLGI7CiAgICBpbnQgKiptYXQ7CiAgICBzY2FuZigiJWQgJWQiLCZhLCZiKTsvLzIsM+OBp+iAg+OBiOOCiwoKCS8v44GT44GT44GnMuasoeWFg+mFjeWIl+OBruWLleeahOeiuuS/neOCkuOBmeOCiwoJCiAgICAvKm1hdCA9IChpbnQqKiltYWxsb2Moc2l6ZW9mKGludCkqYSpiKTsqLy8v44GT44Gu5pu444GN5pa544Gg44Go44OA44Oh44Gg44Gj44GfCiAgICAvL+KAu+WIl+OBqOihjOOBr+OBneOCjOOBnuOCjOWLleeahOeiuuS/neOBruW/heimgeOBguOCigogICAgCiAgICAvL+ihjOOBruWLleeahOeiuuS/nQogICAgbWF0ID0gKGludCoqKW1hbGxvYyhzaXplb2YoaW50KikgKiBhKTsvL2ludCoqID0gaW505Z6L44Gu44Od44Kk44Oz44K/44Gu44Od44Kk44Oz44K/CiAgICAvL+OCqOODqeODvOOBruWHpueQhgogICAgaWYobWF0ID09IE5VTEwpewogICAgICAgIHByaW50ZigiRVJST1JcbiIpOwogICAgICAgIHJldHVybiAwOwogICAgfQogICAgCiAgICAgLy/lkITooYzjgZTjgajjgavliJfjga7li5XnmoTnorrkv50KICAgIGZvcihpPTA7aTxhO2krKyl7CiAgICBtYXRbaV0gPSAoaW50KiltYWxsb2Moc2l6ZW9mKGludCkgKiBiKTsKICAgIC8v44Ko44Op44O844Gu5Yem55CGCiAgICBpZihtYXQgPT0gTlVMTCl7CiAgICAgICAgcHJpbnRmKCJFUlJPUlxuIik7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICB9CiAgICAKCS8v44GT44GT44GnMuasoeWFg+mFjeWIl+OBq+aVsOWApOOCkuS7o+WFpeOBmeOCiwoJZm9yKGk9MDtpPGE7aSsrKXsKCSAgICBmb3Ioaj0wO2o8YjtqKyspewoJICAgIG1hdFtpXVtqXSA9IGsrKzsKCX0KCX0KICAgIAogICAgCiAgICAvL+S7peS4i+OBrumDqOWIhuOBr+ihqOekuuOBrumDqOWIhuOBp+OBmQogICAgLy/jgYTjgZjjgonjgarjgY/jgaZPSwogICAgZm9yKGk9MDtpPGE7aSsrKXsKICAgICAgICBmb3Ioaj0wO2o8YjtqKyspewogICAgICAgICAgICBwcmludGYoIiVkICIsbWF0W2ldW2pdKTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgfQogICAgCiAgICAvL+OBleOBpu+8jOacgOW+jOOBq+W/mOOCjOOBmuOBq+OBmeOCi+OBk+OBqOOBqOiogOOBiOOBsO+8nwpmb3IoaT0wO2k8YTtpKyspewogICAgZnJlZShtYXRbaV0pOy8v5ZCE6KGM44Gu6ZaL5pS+Cn0KZnJlZShtYXQpOy8v6KGM44Od44Kk44Oz44K/44Gu6ZaL5pS+CgogICAgcmV0dXJuIDA7Cn0K