kuangbin专题一 简单搜索 石油储备(HDU-1241)
Posted MAKISE004
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kuangbin专题一 简单搜索 石油储备(HDU-1241)相关的知识,希望对你有一定的参考价值。
Oil Deposits
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Problem Description
The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of land at a time, and creates a grid that divides the land into numerous square plots. It then analyzes each plot separately, using sensing equipment to determine whether or not the plot contains oil. A plot containing oil is called a pocket. If two pockets are adjacent, then they are part of the same oil deposit. Oil deposits can be quite large and may contain numerous pockets. Your job is to determine how many different oil deposits are contained in a grid.
Input
The input file contains one or more grids. Each grid begins with a line containing m and n, the number of rows and columns in the grid, separated by a single space. If m = 0 it signals the end of the input; otherwise 1 <= m <= 100 and 1 <= n <= 100. Following this are m lines of n characters each (not counting the end-of-line characters). Each character corresponds to one plot, and is either \'*\', representing the absence of oil, or \'@\', representing an oil pocket.
Output
For each grid, output the number of distinct oil deposits. Two different pockets are part of the same oil deposit if they are adjacent horizontally, vertically, or diagonally. An oil deposit will not contain more than 100 pockets.
Sample Input
1 1
*
3 5
*@*@*
**@**
*@*@*
1 8
@@****@*
5 5
****@
*@@*@
*@**@
@@@*@
@@**@
0 0
Sample Output
0
1
2
2
题目大意
\'@\'表示有石油储备,求出所给矩阵中石油连通块的个数,每个方格都与其上、下、左、右、左上、右上、左下、右下八个方格视为相邻,相邻的石油方格同属于一个连通块。
解题思路
很单纯的模板题,DFS或者BFS都行,这里给一个DFS的代码。
/* 一切都是命运石之门的选择 El Psy Kongroo */
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<deque>
#include<stack>
#include<map>
#include<set>
#include<bitset>
#include<cmath>
#include<functional>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef pair<int, pii> piii;
typedef pair<double, double> pdd;
typedef pair<string, pii> psi;
typedef __int128 int128;
#define PI acos(-1.0)
#define x first
#define y second
const int inf = 0x3f3f3f3f, mod = 1e9 + 7;
const int N = 110;
char g[N][N];
int vis[N][N];
int n, m;
int dx[8] = 1, -1, 0, 0, 1, -1, 1, -1;
int dy[8] = 0, 0, 1, -1, 1, -1, -1, 1;
void dfs(int i, int j)
vis[i][j] = 1;
for(int k = 0; k < 8; k++)
int ni = i + dx[k], nj = j + dy[k];
if(ni < 0 || ni >= n || nj < 0 || nj >= m || vis[ni][nj]) continue;
if(g[ni][nj] != \'@\') continue;
dfs(ni, nj);
int main()
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
while(cin >> n >> m && (n && m))
memset(vis, 0, sizeof(vis));
for(int i = 0; i < n; i ++ ) cin >> g[i];
int ans = 0;
for(int i = 0; i < n; i ++ )
for(int j = 0; j < m; j ++ )
if(!vis[i][j] && g[i][j] == \'@\')
ans ++ , dfs(i, j);
cout << ans << endl;
return 0;
一切都是命运石之门的选择,本文章来源于博客园,作者:Amαdeus,出处:https://www.cnblogs.com/MAKISE004/p/17321810.html,未经允许严禁转载
[kuangbin]各种各样的题单
[kuangbin]各种各样的题单
专题1 简单搜索
POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 FZU 2150 UVA 11624 POJ 3984 HDU 1241 HDU 1495 HDU 2612
专题2 搜索进阶
HDU 1043 HDU 3567 HDU 2181 HDU 3533 HDU 1560 ZOJ 2477 HDU 3085 HDU 1067 HDU 2102 HDU 3001
专题3 Dancing Links
HUST 1017 ZOJ 3209 HDU 2295 FZU 1686 POJ 1084 POJ 3074 ZOJ 3122 HDU 4069 HDU 3335 HDU 4979 HDU 5046
专题4 最短路练习
POJ 2387 POJ 2253 POJ 1797 POJ 3268 POJ 1860 POJ 3259 POJ 1502 POJ 3660 POJ 2240 POJ 1511 POJ 3159 POJ 2502 POJ 1062 POJ 1847 LightOJ 1074 HDU 4725 HDU 3416 HDU 4370 POJ 3169
专题5 并查集
POJ 2236 POJ 1611 HDU 1213 HDU 3038 POJ 1182 POJ 1417 POJ 1456 POJ 1733 POJ 1984 POJ 2492 POJ 2912 ZOJ 3261 HDU 1272 POJ 1308
专题6 最小生成树
POJ 1251 POJ 1287 POJ 2031 POJ 2421 ZOJ 1586 POJ 1789 POJ 2349 POJ 1751 POJ 1258 POJ 3026 POJ 1679 HDU 1233 HDU 1875
专题7 线段树
HDU 1166 HDU 1754 POJ 3468 POJ 2528 HDU 1698 ZOJ 1610 POJ 3264 HDU 4027 HDU 1540 HDU 3974 HDU 4578 HDU 4614 HDU 4553 POJ 1177 HDU 1255 HDU 1542 HDU 3642
专题8 生成树
HDU 4081 UVA 10600 UVA 10462 POJ 3164 UVA 11183 HDU 2121 HDU 4009 UVA 10766 SPOJ DETER3 URAL 1627 HDU 4305 HDU 4408 SPOJ HIGH
专题9 连通图
POJ 1236 UVA 315 UVA 796 POJ 3694 POJ 3177 HDU 4612 HDU 4635 HDU 4685 HDU 4738
专题10 匹配问题
HDU 1045 HDU 2444 HDU 1083 HDU 1281 HDU 2819 HDU 2389 HDU 4185 POJ 3020 HDU 1054 HDU 1151 POJ 2594 HDU 2768 HDU 1669 POJ 2112 POJ 3189 HDU 2255 HDU 3488 URAL 1099 HDU 4687
专题11 网络流
POJ 3436 POJ 3281 POJ 1087 POJ 2195 POJ 2516 POJ 1459 HDU 4280 HDU 4292 HDU 4289 UVA 10480 HDU 2732 HDU 3338 HDU 3605 HDU 3081 HDU 1532 HDU 3549 HDU 3572 HDU 2883 HDU 4183 HDU 4240 HDU 3277 HDU 2485 HDU 3998 HDU 4309 HDU 3472
专题12 基础DP
HDU 1024 HDU 1029 HDU 1069 HDU 1074 HDU 1087 HDU 1114 HDU 1176 HDU 1260 HDU 1257 HDU 1160 POJ 1015 POJ 1458 POJ 1661 POJ 2533 POJ 3186 HDU 1078 HDU 2859 POJ 3616 POJ 3666
专题13 基础计算几何
POJ 2318 POJ 2398 POJ 3304 POJ 1269 POJ 1556 POJ 2653 POJ 1066 POJ 1410 POJ 1696 POJ 3347 POJ 2826 POJ 1039 POJ 3449 POJ 1584 POJ 2074
专题14 数论基础
LightOJ 1370 LightOJ 1356 LightOJ 1341 LightOJ 1336 LightOJ 1282 LightOJ 1259 LightOJ 1245 LightOJ 1236 LightOJ 1234 LightOJ 1220 LightOJ 1214 LightOJ 1213 LightOJ 1197 LightOJ 1138 UVA 11426 UVA 11754 UVA 11916 POJ 1061 POJ 2115 POJ 2116 HDU 2161 UVA 11827 UVA 10200 SGU 106 POJ 2478 UVA 11752
专题15 数位DP
CodeForces 55D HDU 4352 HDU 2089 HDU 3555 POJ 3252 HDU 3709 HDU 3652 HDU 4734 ZOJ 3494 HDU 4507 SPOJ BALNUM
专题16 KMP & 扩展KMP Manacher
HDU 1711 HDU 1686 HDU 2087 HDU 3746 HDU 1358 HUST 1010 POJ 2406 POJ 2752 POJ 3080 HDU 2594 HDU 3336 HDU 4300 HDU 1238 HDU 2328 HDU 3374 HDU 2609 FZU 1901 POJ 3746 HDU 3613 POJ 3376 POJ 3974 HDU 4513 HDU 3294 HDU 3068 HDU 4847 HDU 4763
专题17 AC自动机
HDU 2222 HDU 2896 HDU 3065 ZOJ 3430 POJ 2778 HDU 2243 POJ 1625 HDU 2825 HDU 2296 HDU 2457 ZOJ 3228 HDU 3341 HDU 3247 HDU 4758 HDU 4511
专题18 后缀数组
POJ 1743 POJ 3261 SPOJ DISUBSTR SPOJ SUBST1 SPOJ REPEATS POJ 3693 POJ 2774 POJ 3415 POJ 3294 SPOJ PHRASES POJ 1226 UVA 11475 POJ 3581 POJ 3450 POJ 2758
专题19 矩阵
CodeForces 450B HDU 5015 HDU 4990 UVA 11651 HDU 4965 UVA 11551 UVA 10689 UVA 11149 UVA 10655 UVA 1386 UVA 10870 UVA 11885 HDU 4565 CodeForces 392C CodeForces 385E FZU 1911 UVA 10518 HDU 4549 HDU 4686
专题20 斜率DP
HDU 3507 HDU 2829 HDU 4528 HDU 1300 HDU 2993 UVALive 5097 HDU 3045 HDU 3516 POJ 1160 POJ 1180 POJ 2018 POJ 3709 POJ 2841 POJ 1260 UVA 12594 HDU 3480 UVALive 6771
专题21 区间DP
ZOJ 3537 LightOJ 1422 POJ 2955 CodeForces 149D POJ 1651 ZOJ 3469 HDU 4283 HDU 2476
专题22 计算几何之半平面交
POJ 3335 POJ 3130 POJ 1474 POJ 1279 POJ 3525 POJ 3384 POJ 1755 POJ 2540 POJ 2451 POJ 1271 UVA 11722 UVALive 7295 UVALive 7292 UVALive 7297 UVALive 7346 UVALive 7521 UVALive 7347 UVALive 7348 UVALive 7349 LightOJ 1433 LightOJ 1387 LightOJ 1338 LightOJ 1261 LightOJ 1249
专题23 二分 尺取 单调栈队列
CodeForces 371C POJ 3685 POJ 3104 POJ 3579 POJ 3258 POJ 3122 HDU 4768 HDU 2289 HDU 5493 HDU 4190 HDU 5646 HDU 5256 HDU 3244 POJ 2566 POJ 3061 POJ 2100 POJ 2739 HDU 5672 HDU 5178 HDU 5358 HDU 1937 HDU 3415 HDU 3410 HDU 4122 HDU 1506
专题24 容斥原理 Mobius 反演
SPOJ VLATTICE HDU 1695 HDU 4746 HDU 4675 HYSBZ 2818 HYSBZ 2005 HYSBZ 2301 UVA 10325 UVA 11806 SPOJ SQFREE HDU 1205 HDU 4407 POJ 1091 HDU 1796 HDU 2841 URAL 1036 CodeForces 235E HYSBZ 2440 HYSBZ 3529 HYSBZ 2154
专题25 快速 Founier 变换·数论变换·FFT·NTT
HDU 4609 HDU 1402 URAL 1996 CodeChef PRIMEDST CodeChef COUNTARI HDU 5322 HDU 5323 Gym 100341C HDU 4656 HDU 5307 HYSBZ 1213 CodeForces 553E CodeForces 754E CodeForces 914G CodeForces 954I CodeForces 958F3 CodeForces 986D CodeForces 993E Kattis kinversions
专题26 伸展树(splay tree)练习
POJ 3481 POJ 2828 HDU 3468 HDU 1890 HDU 3436 HDU 3487 HYSBZ 1588 HYSBZ 1208 HYSBZ 1269 HYSBZ 1500 POJ 3580 HDU 2475 HDU 3726
专题27 后缀自动机
SPOJ LCS SPOJ LCS2 SPOJ NSUBSTR SPOJ SUBLEX SPOJ COT4 HDU 4416 HDU 3518 HDU 4622 HDU 4436
专题28 动态树LCT
HDU 4010 HYSBZ 1036 HYSBZ 1095 HYSBZ 2002 HYSBZ 2049 HYSBZ 2243 HYSBZ 2759 HYSBZ 3153 HYSBZ 3669 SPOJ GSS7 SPOJ OTOCI SPOJ QTREE URAL 1553 ZOJ 3522
专题29 主席树
POJ 2104 SPOJ COT SPOJ COT2 HDU 4417 HDU 4348 ZOJ 2112 CodeForces 464E CodeForces 484E SPOJ MKTHNUM
专题30 2-SAT
HDU 3062 HDU 1824 HDU 3622 HDU 3715 HDU 1815 HDU 1816 HDU 1814 HDU 4115 HDU 4421 POJ 2296 POJ 2723 POJ 2749 POJ 3207 POJ 3648 POJ 3678 POJ 3683 POJ 3905
专题31 树链剖分
FZU 2082 HDU 3966 LightOJ 1348 POJ 2763 POJ 3237 SPOJ QTREE4
专题32 插头DP
HDU 1693 URAL 1519 FZU 1977 HDU 1964 HDU 3377 POJ 1739 POJ 3133 ZOJ 3466 ZOJ 3256 ZOJ 3213 HDU 4285
专题33 划分树
HDU 2665 HDU 3473
专题34 RMQ
POJ 3368 HYSBZ 1067 POJ 1050 POJ 2019 HDU 3486 HDU 3193 HDU 2888 HDU 3183
专题35 博弈论(I)
HDU 1079 HDU 1525 HDU 1564 HDU 1846 HDU 1847 HDU 2516 HDU 2897 HDU 3032 HDU 3389 HDU 3537 HDU 3544 HDU 3863 HDU 3951 HDU 2188 HDU 2149 HDU 1850 HDU 2176 HDU 1527 HDU 2177 HDU 1517 HDU 2486 HDU 4315 HDU 1538 HDU 3404
专题36 博弈论(II)
LightOJ 1355 LightOJ 1186 LightOJ 1192 LightOJ 1247 LightOJ 1253 LightOJ 1393 LightOJ 1199 LightOJ 1229 LightOJ 1296 LightOJ 1315 LightOJ 1344 LightOJ 1401
专题37 莫队算法
HYSBZ 2038 NBUT 1457 POJ 3241 UVALive 3662 CodeForces 220B CodeForces 940F CodeForces 617E SPOJ GSS2 CodeForces 86D LightOJ 1188 UVA 12345 HYSBZ 2120
专题38 树分治
HDU 4871 HDU 4918 SPOJ FTOUR2
专题39 KM匹配
HDU 1533 HDU 2426 HDU 3395 HDU 2282 HDU 2813 HDU 1853 HDU 3435 HDU 3722 HDU 3718 HDU 2448 HDU 2853 HDU 3315 HDU 3523 POJ 2400 POJ 3565 POJ 3686
专题40 母函数
HDU 1028 HDU 1085 HDU 1171 HDU 1398
数学训练一
LightOJ 1008 LightOJ 1010 LightOJ 1020 LightOJ 1078 LightOJ 1116 LightOJ 1148 LightOJ 1179 LightOJ 1275 LightOJ 1294 LightOJ 1297 LightOJ 1311 LightOJ 1323 LightOJ 1349 LightOJ 1354 LightOJ 1369 LightOJ 1410 LightOJ 1414 LightOJ 1430 LightOJ 1024 LightOJ 1319
数学训练二
LightOJ 1005 LightOJ 1058 LightOJ 1067 LightOJ 1095 LightOJ 1102 LightOJ 1140 LightOJ 1170 LightOJ 1173 LightOJ 1226 LightOJ 1246 LightOJ 1299 LightOJ 1318 LightOJ 1322 LightOJ 1326 LightOJ 1333 LightOJ 1352 LightOJ 1365 LightOJ 1366 LightOJ 1371 LightOJ 1382 LightOJ 1419
数学训练三
LightOJ 1306 LightOJ 1117 LightOJ 1124 LightOJ 1144 LightOJ 1161 LightOJ 1054
数学训练四、五 数论
LightOJ 1007 LightOJ 1014 LightOJ 1028 LightOJ 1035 LightOJ 1045 LightOJ 1077 LightOJ 1090 LightOJ 1098 LightOJ 1109 LightOJ 1163 LightOJ 1215 LightOJ 1278 LightOJ 1289 LightOJ 1298 LightOJ 1340 LightOJ 1375 LightOJ 1399
数学训练六 概率&期望
LightOJ 1027 LightOJ 1030 LightOJ 1038 LightOJ 1079 LightOJ 1104 LightOJ 1151 LightOJ 1248 LightOJ 1265 LightOJ 1274 LightOJ 1284 LightOJ 1287 LightOJ 1317 LightOJ 1321 LightOJ 1342 LightOJ 1364 LightOJ 1395 LightOJ 1408
Gaussian Elimination
POJ 1222 POJ 1830 POJ 2947 POJ 1681 POJ 2065 POJ 1753 POJ 3185 POJ 1487 HDU 3359 HDU 3949 HDU 2449
训练指南——图论
UVA 10047 UVA 10054 UVA 1423 UVALive 3523 UVALive 5135 UVALive 4287 UVA 11324 UVALive 3211 UVA 1391 UVA 11396 UVALive 3486 UVA 10765 UVA 11294 UVALive 4452 UVALive 3514 UVA 10972 UVALive 5903 UVA 11604 UVALive 4839 UVALive 4958 UVA 1310 UVALive 2429
线段树LCA树链剖分
POJ 3667 POJ 1151 POJ 2761 POJ 2886 HDU 4942 HDU 2586 POJ 1986 HDU 2874 HDU 3078 POJ 3417 POJ 3728 HDU 3830 HDU 4008 HDU 5274 HDU 4729 HDU 3710 POJ 2831 HDU 4718 HDU 5029 HDU 5052
二分匹配
HDU 1068 HDU 1150 HDU 1179 HDU 1498 HDU 1507 HDU 1528 HDU 1845 HDU 2063 HDU 2119 HDU 3360 HDU 1350 HDU 3118 HDU 3729
图论练习-图的割点、桥与双连通分支
POJ 3352 POJ 2186 POJ 2553 POJ 2942
计算几何之凸包问题
POJ 1113 POJ 2007 POJ 1873 POJ 1228 POJ 3348
以上是关于kuangbin专题一 简单搜索 石油储备(HDU-1241)的主要内容,如果未能解决你的问题,请参考以下文章