hdu 1241 oil deposits
来源:互联网 发布:top域名怎么备案 编辑:程序博客网 时间:2024/06/06 04:48
搜索一直学的很水= =
有时灵光有时不灵光= =
决定花两天时间复习一下,把以前水过的题目再整理整理,别贱笑了...
题目意思很简单,问有几片油田(只要某点的八个临位上也有‘@’就表示两者是连在一起的,算一块)
很简单的DFS,入门级别,只要先找到一个‘@’然后深搜下去,就行,直接代码
(这题有个问题,输入的时候要读掉多余的空行= =麻烦,一开始还没发现)
#include <iostream>#include <cstring>#include <cstdio>#include <string>#include <algorithm>using namespace std;int m,n;char map[101][101];int dir[8][2]={{1,0},{1,1},{1,-1},{0,1},{0,-1},{-1,1},{-1,-1},{-1,0}};void dfs(int x,int y){ int fx,fy; for(int i=0;i<8;i++) { fx=x+dir[i][0]; fy=y+dir[i][1]; if(fx>=0&&fx<n&&fy>=0&&fy<m&&map[fx][fy]=='@') { map[fx][fy]='*'; dfs(fx,fy); } }}int main(){ int cnt=0; //freopen("in.txt","r",stdin); while(scanf("%d%d",&n,&m)!=EOF) { getchar(); if(n==0&&m==0) break; cnt=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%c",&map[i][j]); } getchar(); } for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(map[i][j]=='@') { map[i][j]='*'; cnt++; dfs(i,j); } } printf("%d\n",cnt); } return 0;}
0 0
- HDU 1241Oil Deposits
- HDU---1241Oil Deposits
- Hdu 1241 Oil Deposits
- Hdu 1241 - Oil Deposits
- HDU-1241:Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu - 1241 - Oil Deposits
- HDU-1241Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- HDU 1241 Oil Deposits
- hdu 1241 Oil Deposits
- hdu 1241 Oil Deposits
- HDU 1241 Oil Deposits
- hdu-1241-Oil Deposits
- hdu 1241 Oil Deposits
- leetcode:Palindrome Number
- wxX11移植到arm板上
- 网络图片刷新组件(一)
- java内存区域与溢出
- 关于MYSQL在UTF-8字符集下乱码的解决办法
- hdu 1241 oil deposits
- Google关于C++开源项目的规范
- 拧魔方问题-模拟法
- 桌面图标无法拖动
- POJ 1562 Oil Deposits(dfs)
- 黑马程序员-基础加强-枚举
- poj 1738 dp 石子归并
- SpringMVC 集成 Bean Validation
- C语言中abs(int varname)和fabs(double varname)的区别