hdu1198(dfs)
来源:互联网 发布:萝莉捏脸数据百度云 编辑:程序博客网 时间:2024/06/10 11:05
最近在学习图论的知识,听说这是一道最小生成树的简单题,但是,看到题目第一感觉很像hdu1241的搜索题,所以就用dfs写了一下,果断1Y了
思路与1241大致相同,就是判断邻接边的时候要判断两方是否都可行,遍历过的当作0,每遍历一次ans++,总体来讲很容易啦。
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>using namespace std;int G[55][55],m,n;bool F[55][55];struct lei{ int sha,xia,zuo,you;}a[12];void dfs(int i,int j){ if(!F[i][j]) return; F[i][j]=0; int t=G[i][j]; if(a[t].sha&&i>=1&&a[G[i-1][j]].xia) { dfs(i-1,j); } if(a[t].xia&&i<m-1&&a[G[i+1][j]].sha) { dfs(i+1,j); } if(a[t].zuo&&j>=1&&a[G[i][j-1]].you) { dfs(i,j-1); } if(a[t].you&&j<n-1&&a[G[i][j+1]].zuo) { dfs(i,j+1); }}int main(){ a[1].sha=1,a[1].xia=0,a[1].zuo=1,a[1].you=0; a[2].sha=1,a[2].xia=0,a[2].zuo=0,a[2].you=1; a[3].sha=0,a[3].xia=1,a[3].zuo=1,a[3].you=0; a[4].sha=0,a[4].xia=1,a[4].zuo=0,a[4].you=1; a[5].sha=1,a[5].xia=1,a[5].zuo=0,a[5].you=0; a[6].sha=0,a[6].xia=0,a[6].zuo=1,a[6].you=1; a[7].sha=1,a[7].xia=0,a[7].zuo=1,a[7].you=1; a[8].sha=1,a[8].xia=1,a[8].zuo=1,a[8].you=0; a[9].sha=0,a[9].xia=1,a[9].zuo=1,a[9].you=1; a[10].sha=1,a[10].xia=1,a[10].zuo=0,a[10].you=1; a[11].sha=1,a[11].xia=1,a[11].zuo=1,a[11].you=1; int i,j; string str; memset(F,0,sizeof(F)); while(scanf("%d%d",&m,&n)) { if(m<0&&n<0) break; for(i=0;i<m;i++) { cin>>str; for(j=0;j<n;j++) { G[i][j]=str[j]-'A'+1; F[i][j]=1; } } int ans=0; for(i=0;i<m;i++) for(j=0;j<n;j++) if(F[i][j]) { dfs(i,j); ans++; } cout<<ans<<endl; } return 0;}
- hdu1198(dfs)
- hdu1198解题报告(dfs)
- hdu1198 dfs
- hdu1198 Farm Irrigation dfs
- hdu1198 Farm Irrigation DFS
- hdu1198 Farm Irrigation(DFS)
- hdu1198 Farm Irrigation (DFS)
- hdu1198 Farm Irrigation(DFS,并查集)
- hdu1198(DFS/并查集)
- hdu1198
- hdu1198
- hdu1198
- hdu1198
- hdu1198
- HDU1198
- zoj2412 & hdu1198 - Farm Irrigation (DFS实现)
- hdu1198 Farm Irrigation —— dfs or 并查集
- hdu1198 Farm Irrigation 并查集或者dfs
- memset,memcpy,strcpy
- QTcpServer
- Struts1 POI导出Excel
- Delphi-IOCP学习笔记<一>====从零开始学习IOCP
- 加载更多
- hdu1198(dfs)
- VC编程中的连续运算--从国际化版本编译优化展开
- 递归法实现链表逆序
- 使用WITH AS 优化SQL
- Delphi-IOCP学习笔记<二>====IOCP基本函数介绍和理解
- X_debug配置变量的具体说明(转载)
- Tiny6410 led 驱动实现分析
- 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,并观
- Delphi-IOCP学习笔记<三>====工作线程和Listener