看到大致思路一致的题解,决定发一篇运用STL不用dfs的题解     好久不发题解,心里不爽

思路:

1.输入的同时找到总统桌子的位置,用vector<pair <int,int> >记录横坐标和纵坐标
2.在总统桌子周围找到其他桌子,并用set记录(set可以去重)
3.打印set的长度,即周围桌子的数量


Code:

#include <bits/stdc++.h>
using namespace std;
const int N=;
char c[N][N];
int n,m;
char pt;
set<char> s;
vector< pair<int,int> > v;
int dx[]={,,-,},dy[]={,-,,};
int main() {
cin>>n>>m;
cin>>pt;
for(int i=;i<=n;i++) {
for(int j=;j<=m;j++) {
cin>>c[i][j];
if(c[i][j]==pt) v.push_back(make_pair(i,j));
}
}
for(int i=;i<v.size();i++) {
int x,y;
x=v[i].first;
y=v[i].second;
for(int j=;j<;j++) {
int nx=x+dx[j],ny=y+dy[j];
if(c[nx][ny]>='A' && c[nx][ny]<='Z' && c[nx][ny]!=pt) s.insert(c[nx][ny]);
}
}
cout<<s.size()<<endl;
return ;
}

最新文章

  1. mysql同步
  2. jpg 批量压缩工具 v1.0
  3. MapReduce从输入文件到Mapper处理之间的过程
  4. Ⅳspring的点点滴滴--方法和事件
  5. Java大数操作类
  6. Oracle 字符集的查看和修改 -转
  7. java 二进制数字符串转换工具类
  8. php中获取用户登陆的IP地址以及常规处理
  9. string_array.go
  10. idea激活方式
  11. Webpack+Typescript 简易配置
  12. CAN总线网络的传输模式
  13. 中南大学2018年ACM暑期集训前期训练题集(入门题) Q: Simple Line Editor
  14. tp剩余未验证内容-3
  15. Google advertiser api开发概述——最佳做法&amp;建议
  16. 【Junit4】:要点随笔
  17. 浅谈千万级PV/IP规模高性能高并发网站架构
  18. PHPEmailer使用简介(以qq邮箱为例)
  19. Sourcetree报错: 您没有已经配置扩展集成设置的远端
  20. uva1452

热门文章

  1. H3C 三种生成树协议特性的比较
  2. Servlet 常用类
  3. ArrayList数组扩容方式(基于jdk1.8)
  4. 用c++ 给易语言写支持库学习记录
  5. 洛谷$P2153\ [SDOI2009]$ 晨跑 网络流
  6. $Noip2012\ Luogu1081$ 开车旅行 倍增优化$ DP$
  7. Spring中常见的设计模式——代理模式
  8. 《深入理解JAVA虚拟机》-自己动手编译JDK
  9. MySQL之插入数据(添加数据)-INSERT
  10. SpringBoot中SpringMVC的自动配置以及扩展