14b2t
ア #include <stdbool.h>
イ #include <stdio.h>
ウ #define H 6
エ #define W 8
オ int a[H][W];
キ void move(int i, int j, int v, bool *chg) {
セ if(j < 0 || j >= H || i < 0 || i >= W) { return; }
シ if(a[j][i] >= 0 && a[j][i] <= v) { return; }
テ a[j][i] = v;
チ *chg = true;
ク }
カ int main(void) {
ソ int i, j, max = 0; bool chg = true;
ツ a[0][0] = 0;
コ while(chg) {
タ chg = false;
サ for(j = 0; j < H; ++j) for(i = 0; i < W; ++i) {
ニ move(i+1, j+1, a[j][i]+1, &chg);
ハ move(i-2, j-1, a[j][i]+1, &chg);
ク }
ク }
サ for(j = 0; j < H; ++j) for(i = 0; i < W; ++i) {
ス if(a[j][i] > max) { max = a[j][i]; }
ク }
ヒ printf("%d\n", max);
ケ return 0;
ク }
----------
ア #include <stdbool.h>
イ #include <stdio.h>
ウ #define H 6
エ #define W 8
オ int a[H][W];
キ void move(int i, int j, int v, bool *chg) {
セ if(j < 0 || j >= H || i < 0 || i >= W) { return; }
シ if(a[j][i] >= 0 && a[j][i] <= v) { return; }
テ a[j][i] = v;
チ *chg = true;
ク }
カ int main(void) {
ソ int i, j, max = 0; bool chg = true;
ツ a[0][0] = 0;
コ while(chg) {
タ chg = false;
サ for(j = 0; j < H; ++j) for(i = 0; i < W; ++i) {
ハ move(i-2, j-1, a[j][i]+1, &chg);
ニ move(i+1, j+1, a[j][i]+1, &chg);
ク }
ク }
サ for(j = 0; j < H; ++j) for(i = 0; i < W; ++i) {
ス if(a[j][i] > max) { max = a[j][i]; }
ク }
ヒ printf("%d\n", max);
ケ return 0;