hdu1312---------------DFS模板(调用STL)
很明显啊!调用STL简单多了,省了30行代码
#include<iostream>
#include<queue>
#include<string.h>
using namespace std;
char ch[22][22];
int r,c;
int XX[4][2]={{-1,0},{0,-1},{0,1},{1,0}};
struct node{int x,y;};
int bfs(int bx,int by,int Sum)
{
int k;
int xx,yy;
node t,tt;
queue<node>qu;
t.x=bx,t.y=by;
qu.push(t);
while(!qu.empty())
{
t=qu.front();
qu.pop();
for(k=0;k<4;k++)
{
xx=t.x+XX[k][1],yy=t.y+XX[k][0];
if(xx>=0&&xx<c&&yy>=0&&yy<r&&ch[xx][yy]!='#')
{
Sum++;
ch[xx][yy]='#';
tt.x=xx,tt.y=yy;
qu.push(tt);
}
}
}
return Sum;
}
int main()
{
int i,j,bx,by,Sum;
while(cin>>c>>r&&c&&r)//c列 r行
{
memset(ch,0,sizeof(ch));
for(i=0;i<r;i++)
for(j=0;j<c;j++)
{
cin>>ch[j][i];
if(ch[j][i]=='@')
{
bx=j,by=i;
ch[j][i]='#';
}
}
Sum=1;
cout<< bfs(bx,by,Sum)<<endl;
}
return 0;
}
转载于:https://www.cnblogs.com/zhangyabin---acm/archive/2012/03/12/2392509.html
hdu1312---------------DFS模板(调用STL)相关推荐
- 蓝桥杯算法竞赛系列第0章——蓝桥必考点及标准模板库STL(上)(万字博文,建议抱走)
欢迎来到:遇见蓝桥遇见你,不负代码不负卿! 目录 一.蓝桥必考点剖析 二.什么是STL 三.vector的常见用法详解 1.vector的定义 2.vector容器内元素的访问 (1).通过下标访 ...
- C++ 标准模板库(STL)
C++ 标准模板库(STL) C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列) ...
- c语言stl模板,c/c++开发分享C++ 标准模板库 STL 顺序容器详解
c++ 标准模板库 stl 顺序容器 容器 顺序性 重复性 支持迭代器 vector 动态数组 无序 可重复 随机访问迭代器 deque 双向队列 无序 可重复 随机访问迭代器 list 双向链表 无 ...
- 第十章 标准模板库STL
第十章 标准模板库STL 因为是在复习时重写的,无法在PTA上验证,编程题格式可能有误. 判断题 1.可以通过下标随机访问向量vector中的元素.(T) 2.当向量对象的内存用完之后,就会产生越界错 ...
- 标准模板库STL(Standard Template Library)
标准模板库STL(Standard Template Library)指南 /*刘振飞liuzf@pku.org.cn 1999-10-20*/ / *版权所有 (C) 1999-2004 刘振飞li ...
- 笔记②:牛客校招冲刺集训营---C++工程师(面向对象(友元、运算符重载、继承、多态) -- 内存管理 -- 名称空间、模板(类模板/函数模板) -- STL)
0618 C++工程师 第5章 高频考点与真题精讲 5.1 指针 & 5.2 函数 5.3 面向对象(和5.4.5.5共三次直播课) 5.3.1 - 5.3.11 5.3.12-14 友元 友 ...
- C++ 学习笔记·八——提高编程(模板与 STL )
C++提高编程 本阶段主要针对 C++ 泛型编程 和 STL 技术做详细讲解,探讨 C++ 更深层的使用 1 模板 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 例如生活中的模板 一寸照 ...
- C++学习笔记—模板与STL
C++提高编程 本阶段主要针对C++泛型编程和STL技术做详细讲解,探讨C++更深层的使用 1 模板 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 例如生活中的模板 一寸照片模板 PPT ...
- 泛型模板和STL语法入门
泛型模板和STL语法入门 STL简介 STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov. ...
- C++ ——模板 标准模板库STL
C++ 知识基础 流操作符 类 & 基础 初始化和重载 类 & 高级 继承和多态 模板 & 标准模板库STL 目录 C++ 一.模板 1.函数模板 2.类模板 二.标准模板库S ...
最新文章
- 人类偏好的“可塑性”,从博弈说起
- Java基类Object中有哪些方法
- Android开发笔记——常见BUG类型之内存泄露与线程安全
- VB.NET实现DirectSound9 (6) 声音特效
- android 分区layout以及虚拟内存布局-小结
- VMWare12 安装 OSX 10.10
- [导入]SQL中的临时表和表变量
- 知乎上关于固态硬盘的一些知识
- 哪里可以培训计算机运维,临武县运维工程师培训班_郴州科泰计算机学校
- 关于angularjs input上传图片前获取图片的Size 浅析
- mysql密码输入多次都不对_mysql 密码不对
- js去掉a链接点击后产生的虚线(兼容火狐)
- swing禁用最大化、去掉java图标、设置窗口为中央显示
- 华硕linux网卡驱动,华硕官网主板型号”P5BV-C”的Linux的网卡驱动加载
- Maven的学习与2022IDEA创建Maven的web项目的教程(这个比上一期更“啰嗦哦~,前面不想删了,整体再来一遍”)
- acm 比赛 专业术语
- 电脑找不到硬盘的解决方案
- 14个种类,600款笔刷!如何做一套属于自己的精美笔刷?
- 怎么看懂UML中的类图?
- 关于三子棋(井字棋)小游戏