2919 选择题

2919 选择题

 

 时间限制: 1 s
 空间限制: 16000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 Description

某同学考试,在N*M的答题卡上写了A,B,C,D四种答案。

他做完了,又不能交,一看表,离打铃还有N久。

他开始玩一个游戏:选一个格子X,Y,从这个格子出发向4个方向找相同的选项,找到的再如此。

求形成的图形的面积。(一个选项占一个单位面积)

输入描述 Input Description

N M X  Y

答题卡(矩阵)

输出描述 Output Description

面积

样例输入 Sample Input

3 3 1 2

A C B

C C C

D C A

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

N,M<=15.

对于33%数据,只有A。

分类标签 Tags 点此展开 

 
#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
",sum);
    return 0;
}
原文地址:https://www.cnblogs.com/shenben/p/5582074.html