Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <stdlib.h>#include <string.h>int ans,aim;int N,M,x,y;int g[105][105];int vis[105][105];void dfs(int x,int y){vis[x][y] = 1;int cnt = 0;if(g[x-1][y] == aim && vis[x-1][y] == 1) cnt++;if(g[x+1][y] == aim && vis[x+1][y] == 1) cnt++;if(g[x][y-1] == aim && vis[x][y-1] == 1) cnt++;if(g[x][y+1] == aim && vis[x][y+1] == 1) cnt++;ans += (2-cnt)*2;if(g[x-1][y] == aim && vis[x-1][y] == 0) dfs(x-1,y);if(g[x+1][y] == aim && vis[x+1][y] == 0) dfs(x+1,y);if(g[x][y-1] == aim && vis[x][y-1] == 0) dfs(x,y-1);if(g[x][y+1] == aim && vis[x][y+1] == 0) dfs(x,y+1);}int main(){scanf("%d%d%d%d",&N,&M,&x,&y);for(int i=1;i<=N;i++)g[i][0] = g[i][M+1] = -1;for(int i=1;i<=M;i++)g[0][i] = g[N+1][i] = -1;for(int i=1;i<=N;i++)for(int j=1;j<=M;j++)