标签:printf print 游戏 data 图形 ret using ted 矩阵
某同学考试,在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。
经典bfs
#include <iostream> #include <cstdio> using namespace std; int fx[5]={0,0,-1,1},fy[5]={1,-1,0,0}; int Answer,n,m,x,y,i,j; char atlas[16][16],what; bool vis[16][16]; void ss(int u,int v) { Answer++; vis[u][v]=1; for(int i=0;i<4;++i) { int mx=u+fx[i],my=v+fy[i]; if(mx>0&&mx<=n&&my>0&&my<=m&&atlas[mx][my]==atlas[x][y]&&!vis[mx][my]) ss(mx,my); } } int main() { scanf("%d%d%d%d",&n,&m,&x,&y); for(i=1;i<=n;++i) for(j=1;j<=m;++j) cin>>atlas[i][j]; ss(x,y); printf("%d",Answer); return 0; }
标签:printf print 游戏 data 图形 ret using ted 矩阵
原文地址:http://www.cnblogs.com/ruojisun/p/6444863.html