某同学考试,在N*M的答题卡上写了A,B,C,D四种答案。
他做完了,又不能交,一看表,离打铃还有N久。
他开始玩一个游戏:选一个格子X,Y,从这个格子出发向4个方向找相同的选项,找到的再如此。
求形成的图形的面积。(一个选项占一个单位面积)
N M X Y
答题卡(矩阵)
面积
3 3 1 2
A C B
C C C
D C A
5
N,M<=15.
对于33%数据,只有A。
#include<cstdio> #include<iostream> using namespace std; #define N 101 char map[N][N],goal; int n,m,sum,vis[N][N]; void dfs(int i,int j){ if(i<1||j<1||i>n||j>m) return ; if(!vis[i][j]&&map[i][j]==goal){ vis[i][j]=1;sum++; }else return ; dfs(i+1,j); dfs(i,j+1); dfs(i-1,j); dfs(i,j-1); } int main(){ int x,y; cin>>n>>m>>x>>y; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>map[i][j]; } } goal=map[x][y]; dfs(x,y); printf("%d\n",sum); return 0; }
2919 选择题
原文:http://www.cnblogs.com/shenben/p/5582074.html