#include #include int W, H; int M[100][100]; bool used[100][100]; const int dx[4] = {-1, 0, 0, 1}, dy[4] = {0, -1, 1, 0}; int dfs(int x, int y, int prev, int type){ used[y][x] = true; bool f = false; for(int i=0;i<4;i++){ if(i == 3-prev){continue;} int nx = x + dx[i], ny = y + dy[i]; if(0 <= nx && nx < W && 0 <= ny && ny < H && M[ny][nx] == type){ if(used[ny][nx]){return true;} f = f || dfs(nx, ny, i, type); } } return f; } int main(){ scanf("%d %d", &W, &H); for(int i=0;i