#define _CRT_SECURE_NO_WARNINGS #define _USE_MATH_DEFINES #ifdef _MSC_VER #include "bits\stdc++.h" #else #include #endif #include #include #include #include #include #define REP(i,a,b) for(i=a;i q; Point start = {R,C}; int dR[] = { 0, 0,-1, 1}; int dC[] = { 1,-1, 0, 0}; int cnt = 0; static bool visited[200][205]; q.push(start); while( q.size() ) { Point now = q.front(); q.pop(); visited[now.R][now.C] = true; cnt++; if(test) { printf("A[%d][%d] = %d ",now.R,now.C,A[R][C]); printf("target_color = %d\n",target_color); printf("R = %d C = %d\n",now.R,now.C); } A[now.R][now.C] = next_color; rep(i,4) { Point next; next.R = now.R+dR[i]; next.C = now.C+dC[i]; if(next.R < 0 || H <= next.R) continue; else if(next.C < 0 || W <= next.C) continue; else if( visited[next.R][next.C] ) continue; else if(A[next.R][next.C] == target_color) { q.push(next); } } } return cnt; } int main(void) { int i,j,k,l; int Q; scanf("%d",&H); scanf("%d",&W); for(i=0;i