hdu-1198 Farm Irrigation---并查集+模拟(附测试数据)
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1198
题目大意:
有如上图11种土地块,块中的绿色线条为土地块中修好的水渠,现在一片土地由上述的各种土地块组成,需要浇水,问需要打多少口井。
例如下面这个土地块
ADC
FJK
IHE
then the water pipes are distributed like

解题思路:
首先模拟A-K的四个不同的方向,用了一个数组表示从A-K的四个方向是否有水管
然后枚举每个点的四个方向上可到达的地方,如果连通就合并并查集,最后根节点的数目就是连通块的数目(DFS也可以做,判断连通块即可)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = + ;
int p[maxn];
char Map[][];
int dir[][] = {,-,-,,,,,};//分别是左(0),上(1),右(2),下(3)
int G[][]={
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
,,,,
};
void init()
{
for(int i = ; i < maxn; i++)p[i] = i;
}
int Find(int x)
{
return x == p[x] ? x : p[x] = Find(p[x]);
}
void Union(int x, int y)
{
x = Find(x);
y = Find(y);
if(x != y)
{
p[x] = y;
}
}
int main()
{
int n, m;
freopen("out.txt", "w", stdout);
while(cin >> n >> m && ( n + m > ))
{
init();
for(int i = ; i < n; i++)
{
cin >> Map[i];
}
for(int i = ; i < n; i++)
{
for(int j = ; j < m; j++)
{
int c = Map[i][j] - 'A';
for(int k = ; k < ; k++)//枚举四个方向
{
if(!G[c][k])continue;//判断该方向是否存在水管
int x = i + dir[k][];
int y = j + dir[k][];
if(x < || x >= n || y < || y >= m)continue;
int d = Map[x][y] - 'A';
if(!G[d][(k + ) % ])continue;//这里是判断(x,y)处是否有和k方向相对的方向的水管
Union(i * m + j, x * m + y);//这里是编号i*m+j,一开始写错成i*n+j
}
}
}
int flag = ;
for(int i = ; i < n * m; i++)
{
if(p[i] == i)flag++;//根节点的数目也就是连通块的数目
}
cout<<flag<<endl;
}
return ;
}
测试数据:
JBHFFKBAHHFIGHDHJ
CHHIKGHIFGHCBJKKC
EJHFEHFGHAFAFEFBD
KGAAGHIHKDFCKJKDK
BBGIFFCEGGFGFABEF
GFHEAIEEADDFIEHIC
AIHHEBFCHJAKDIEBG
CJCDGFJFHEGBKHJKH
AHCAAKHKBBKJJJGGB
HJJHFIBDAKEHEFHGD
CJJICAAJJEJIHJDEK
FKKIKJBKGKKJEEFIC
IIGJJIDFHKFDCKJDK
KBKFHKHDCJIDJBFDF
KBHBFJEIFFKFGCAIG
CKJEBHICKEGABEIHC
EJECEHIDDKJAIDEAG
KGIJAAJDHABDEIGCF
FIFJECCEKDAAKCACG
HIAFBCCDFIIKCAJBB
AAKGGBBDHAHJIIIEB
FCBIFKACGFEHIECII
IFBEKFGKFGADIHICH
HIJHFFEIHDGKEAKIE
GHCHDKBIECFJEFKHA
KHCHCDAGJDJEAKJJD
DKIKAJCCACJBCEDKD
IGHKIGDHBBFGJGKJK
DFGDIAJJHIIGCIFCC
AIGJJKKJJDJEEJFAE
CIEFBGGCBDFAFFEBK
EEAIDJEEEBDGKCFBG
DFJFACCJIGJHBDAGK
CEJFDBHCGDGHADAKB
IAJBKKHDEEAIJICBA
CBKFKEBJFJGJBDECH
EIFHJCBCBJKKIDDJA
GIABAIIDHEBIHGIDF
FFHFCFJAIFFEIJEJG
KAFFDFEIECBEFKCEK
ICKGEAFCJFIEHBHCG GKDKJKAGKAICDIJBGACJ
AHCBFGDCEDKGEAFKIBAA
JHCBAJFFEIFFFCKEHJJB
IEHDIDJCHGIBKGFDJGJC
IAGEBDGCJBKAIHGCBAHE
EGHFJIKEHCEFFFGJBBEF
DKDFABABFFADDKJEJJGB
CEIKJHCDKGIAFACFJDKG
JAGAAIIDCKKFCCJBCCAF AFEGEAGEKAHBCJDII
KAGCGJBEDJGIADCGA
CFGECKBGJHIBIBGKD
ICAFDEBHDBDFEDGGK
HDIJCJFCHJHFEGHIE
DBKJFFHBGFGGAEHED
JGGECHJGCJHAGHGDK
EKHBEHDGADFKJKECD
DFKFIIFJFKJKDBDHI
HAFKCCDFDIKCJBBGA
GFHFFFEKHCKABAJEE
HKECDKCACJKACHGAK
DHJEKABBKGIGFCJAC
JIFHJJBGDAFFGAJII
CCHCADJFHECGCBIDE
KKEKJBABDABJDBACH
CCEKGGIFFCFJEAKJB
ADIKJAFEBKCJIHFFE
KKGCBJCJDIDBGFDCF
JFBFAAJFHBABCDHAF
AIHFBJDIFGKIAGIIG
GABJIFFFKEFIABBGH
BFKEAEEHJJJEFBJFA
FJHIHDCDHIJEBHJIF IECKGJFBJFBDFBBECKEKGGGEKAA
FCHKJFDEAHGFIHHGIJJGCBEEEHG
GIEADGFJBIDIEKBDIGAJAFFGFEA
GCDIBKEJGFIJHKHABAJAHBDDBIK
FBCFCEGEDIBJIJDIKAGEBCHBCIH
KAEIKCBCEGGGHBIICFBAEIJFDEC
FDGEFKIHHGEHIDDKDBEEFCBFGKI
HDFAJBDDGHFFAHBJAHKAJCEECBF
BDDGFCFKCCIACKGEDBFJBDFDDFA
ABECCDFDAKDACBBBJBEGEABFIIK
BHHKHAGDKGDFDKGEEFEFICEGBHE
HFFKFCEFCDDFADAAAFFBCJIKKJJ
IEJGAHEBKIKBIFHBFBECJEHJHEC
JDHHHDECGCIJDFCDFGHCDJECCKG
DFEEGCJKHHCCCFEKKEIEEJIAKEA
BDIGGFKCHDKJAHCCIGBFIKAAIEC
KBECAFKFJBICDIEKEBIAGDCKFAH
FCJJEHCJCKFHIHFEFKCEJGDDIEH
BACDHJDAAIDABGFDKGEEBKKEKKJ
JHFHCGCBDBFIIFFAHFAFJGGAIFB
DHEDBHBFCFGEKGGDEFJFAHKDBBD
EGDDJIFEHIBDAIBIEHHFKDEIDAB
BGCCKBFBCBKKIFCAIJIECHICHEB
KCFKGABEKEFJFGBKGEAEFCJFIGH
BHFCEEJKBKGDBBJEEHKBFHDBGFF
CFHEDFEDJFKJECIAKBIEJAKHABD
DFEAFCEFEBHBEAKIDFDKEJAICCD
EJGDIHDHIBBEDFHKJEIFCCDHACC
GJGAIDBJDCGKKKHBAIDAAEACEDA
JCHFFAHCKGFFBCIFKGCAJAJKBBH
GHACAHIDBBIBCAAEHJBHGJGGIHI
KECKGDJGAIDIIDBJJFDKJBIHIFA
EGJKFCJAHHIIBJHIADJBAHHCDAH
AGDKCHCCECHHCAKCACHFJHIFJEA GJAGCCED
DAKIBIAH
FAEFHFKA
KCCEDIIJ
ECAIDGJE
JJBAJDFI
HFIBJEJG
KEIGFDIC
CBGFFCKK
ICAGAFGH
HCEKFBBE
DFDDACDC
BEADDBKF
CAKBCEID
IHKJFIHD
KBIHCCHK
BKBDBCGG
EHFKJKJC
IHEAKAKH
DDHKKFBD
BHGKBCEI
EIJEICIH
HFHGGKJF
KJBJCHKC
ADBEGCDH
KIADDADJ
KJBEEBII
JFHKGBHK
CHJGKJJB
GEDECEED
BCJDIGBK
DIGDHFIE
ADIEFJGH
BAKACBDH
HBDBEJGD
BJICHIAH
ADIJEKID
HBEAHCBA
HIHCAKEK
CJHKCGBC
BKEEEKCJ AGEEBDBKHKECEFBBCDIBHDDD
IGFGGKFEFHBFHCAHIBJEEDBG
BAJHKKEFEDKCIJIBECDBDBKH
JHHDCHJDHDIGHJKFHEHIGHKA
IEHCGKGJFFBEJDCHGEDIBDFH
CDHHBAGABFBDAFCJIBJDDKCC
CIJIFHFGHCCEECBGHEBCGDCI
FBCFIIJFHBJFKGJHAKBHGJIK
DGEFKHGJJCEFFKHKGGBCKIIH
IFGJCDGCDHIHBEDCJECHJBBJ KKBFAGDHJEEGHFIDKFBBBB
BKIIBJIKJFJHJJDBDBJIHI
HCBGEDAEHHFCFJJAIDEKIG
JEDFBDGDHKDBIHEJCCFAKJ
CFJAAFIEKGKHCCAIHEBKBH
CBCEIEHBGIAKHAFHEAAHKK
ECDHIEHCBGAFIECFHCEBFG
BGBBFJJIJKKDCCKGBJJABH
AGBHCKJBDHBIBBHHIGGEGC
HJKDFKAKKHGJKKEHJCIGIB
DAFAEEFGDGKBFHJKHEIBBK
FBGBEEDDAEHHIIIHHFHBKJ
IJCEDACCJAFEGEEFHBKIEH
ADKEFBAFDDDCACIAIJCEIB
HBKGDDBBFIGHKEDGHECGJI
FDBACAADDKADFCFIHAIDKH
FBIFJBDCJGJAIBBKFBDFJH
KAEKBAJBGBAHDEFHBBHKJI
HJGJBJHBKBJHAFBACEBJDF FBDBDHKDJBEGJIJHKDJFAHCKCBEDDDICECG
DKKAGKFHKIJCAHBDFDFBDKDEIEHFDIEABCG
GGHKFIFFKGEAKEBKHDFHIADCHGABEDAHJIE
KDHJFKFEKHIAJKJIFJKBGFECGJFHCEIECBB
BAGGKCKGBBKIECEIBCCAGEFIHKICKDHFKCG
FJICKFJGDAAAGCGJEIIHFCIHDJJCBCHIFAH
CEKGCHKFJAECKCIAGAEGGAKCHBBJCIKBCDD
DBIGHDKCFJIKEIBKAKAKCEGDCHJEBCHAJIA
HKIDEIDDKCGHJAAJDBFEIJFDFEAEIIFHFEB
DAFIGJGAKECEGFGGCIGGEFCFIFAAKGDJDGA
ABIJEBEEJAHHKCKDFJFCFDGBADIJJBKGKCI
JIKIBJIHBDFDHEFCFFGHJCDDBIEDGDKGBIA
KDFBGBBHCFJEFHCGJIFBHCADKCDJIDJFGCE
ABAGDCHEAJJEDFEIFICCDKFJGKJGGIGJDJB
BEGHHIHGCEDEBBJKHHEJEKDFFHJKIEAIAAE
DGFDICAEEICGJHCJEAACFHFGKFEBBAGEAHA
IKIDCIJJIEIKBCCFFFHJCJBDADHHJHCGJAJ
AFKHJKKKAFEFFAHJKKCCGJGIKKHKIGGADCF
JGCABJGJEAGHIBHGBGDCAFGGBJFDDAAHJCA
JHBCKGIHIAJFBFEBKFGGKAAKHEDGABHEKGF
HEIEIDGJJDAIHDAGGCKCEDFEKIGHCGFBFBK
JAGKDHFDBCJKCDKBHAIHBKDJDBKDCHDKDEK
DBJAFIABDDKECJHGEAKJAJKCKDFIJAAEGKB
ABGBHGKHAJGBAGFEIJBIKJBHCJGGEADCIFB
CIJFGAGIDKADJBHDBJJGKGBKGAHBDHIHBAK
EIBCHHEAEJCFKBGFJJIAKHGAEAGBGEGCGGC
HDGKDBKBHJFIJCJFKKKIBGBIIFDBFJAIKIB
IDHGAFGDKICBEECHBKKKGDIBHDGAKBEFFCH
EBGHAJFJAEAHIEHFJHBIKJKJDJDHGAHBKCC
KDIJAAAFKAKDJJEHFIGKIHJHFCKHKGGEGDF
GKEKHFDEEFCHKFBEGIFKGFICDFDBGIDBGBE
JEDKJKHFGHDIBJBKDHDICJCFIHKDFFCHBGA
DDHKGKFKBEBACKCJHADJFHHKBHJBFHFFHGA IHBGKHAEJKCDJDDEEHGHCCABIBIKG
KGJIBGACAJCCGKJHBJGBFBBDEBDKI
ICAHBGBBEFKFEEKACBIFIFGHICHCA
DHKCBJGFEFJHAFKKEKKBGJIGCGDEB
AFFDEKFBKBDIGGKAGIHIBGGKDABBK
JFIACGCFDIJHHGIDJKCFBEEEKAEIH
GIDICCGFFDFHIFBBDJECFHKGIHGCE
CEBABFIJDCIFHFKBAIJJGGCFKBEKC
FHIEKJKICFJEIKEGKIBGEAJADIHIF
EBKBHIIFEBBAGIBHIAJKBFJDDCFEG
CADAICKIJBHHEFIKIJHDEBBAEFGJI
JGEBHCDGIJDIKFCJBIHFHCFKBCGJK
DFJKCFABBIFFECHHGCKIHHKFJHBDJ
ACGCHJDKJGJFIGKFBIGKDBDBCKCBK
GKJHCIJGFHDHJAGACHFIFIAJBFGFK
FGJEAFIGBHGFBJBIJFJAHDDGCHIBK
FIFIEGHJIKFHJACAJKKCEFIGDHJGE
FBHDFKGDJJIKHKDCIJDIBFJHCFJAK
GGBDICEDIAEBFJIIIDHBKKBHHFKEB
JACKFBIHDCIGDBEGCDJFCKBDECACF
KHFIJBHKCCFCKECAJBKHHJACKEIGD
KFEAFBEIJEJHGGDAEIDJHAAHJEDFK
IGJEIAIJJKDKDCDDADJEGDCGCFDGE
GCIFJKCKHICIJKADADEGGFDCJFCDI
CEAHIBIDAEIACICKKHBJFGJGCECJE
HBKGFGCABDABCEKJCICFJDDJBJACI
JHGDJAKCHHEADHEJAJHABDCDJHBJI
EHJKCIEKACKJDJCAABGEAFJDKAAGC
DDKKJHDDDGJIADDDGEKEEJAJDEGDD KAFKGFKCFABFGCHBGEAHBCBBDHKBBDHIJEJIIACHDCBICDAH
AHIEDHBIEGIIKBAEHJJFJDBGBIKKHBAFDADCAIEEJFGCAKEK
KCDDJCDEBGHGDCFFKIIEBEJHDDAHCIDGADGHAAIFDHACJCFH
DFJHDJCEAGGEAICHEHGDKFCIGKDKEFCFFFIJKHGGECGIKKKA
AJACFFJJFCDGDIGAGCHJGKAHGEFIECACKIBGAAIBHDHIEGAF
GJIBDFIBHAGAFIDGKFGHCJAJICDJIBJEAJDAEBKGCFIJDEGC
HBABAJCHGFKGIBGBIEJDEHJAKFFHFBBHHHAIJIEDGKKBDKIJ
KIKJDKBIGCJAAIJHDAGFBEEKEFKGDHJDABCIGGBKDEFJDCKB
FDFJADGHAFFEFKIDKJBGIEHDCDGKJBICHCIAKDGBAKGCFKDI
IHJHAKDHGEJHHGGFEIHIFBEGHAJKGAEJDCAKHJKABJKGBBKB
GHBAHCIFFJGFBCACABIDFKGHHDJDKGEEIAIKKEGFHGFEBBCD
HIBADGAAHJAIAGGKCDHIBAAEKKCAHGEDDKEHHFFJGIJAHICE
CFGCAIBCDDECDJHKCJGJDKCBHDAHIKDJKAJJDADCFEKJKAFA
GCDEFHEJAIAJDGFDDADJGEIAJCKBICDGABKEDAFFGBIIHDBE
AIFDACKBJHBEEGIJDFBCJEKFBHICGGBFJCHIBJCIJIJCHAEF
KBEFKDCIEEDEBKIIBGDHGJFHGKCHJGCJFIGIDACBIGCJHKEK
CIICHEEIBGHHFCICKGECHJFBFKHBAKEGBCKCHKHKCKFDHJDG
GIKABBAIKJJDEECKBEECEHBHECDEGDICCGAGCCHCJAADBIFK
答案:
hdu-1198 Farm Irrigation---并查集+模拟(附测试数据)的更多相关文章
- 杭电OJ——1198 Farm Irrigation (并查集)
畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可 ...
- hdu 1198 Farm Irrigation(深搜dfs || 并查集)
转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm ...
- HDU 1198 Farm Irrigation(并查集,自己构造连通条件或者dfs)
Farm Irrigation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- hdu 1198 Farm Irrigation(并查集)
题意: Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a ...
- HDU 1198 Farm Irrigation(并查集+位运算)
Farm Irrigation Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Tot ...
- HDU 1198 Farm Irrigation(状态压缩+DFS)
题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1198 题目: Farm Irrigation Time Limit: 2000/1000 MS (Ja ...
- HDU 1198 Farm Irrigation (并检查集合 和 dfs两种实现)
Farm Irrigation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu1198 Farm Irrigation 并查集
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198 简单并查集 分别合并竖直方向和水平方向即可 代码: #include<iostream&g ...
- hdu.1198.Farm Irrigation(dfs +放大建图)
Farm Irrigation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu 1198 Farm Irrigation
令人蛋疼的并查集…… 我居然做了大量的枚举,居然过了,我越来越佩服自己了 这个题有些像一个叫做“水管工”的游戏.给你一个m*n的图,每个单位可以有11种选择,然后相邻两个图只有都和对方连接,才判断他们 ...
随机推荐
- 使用urllib获取一个网页内所有a标签的href属性
import re, urllib.request, urllib.parse, urllib.error page = input('Enter - ') fhand = urllib.reques ...
- Codeforces Round #558 (Div. 2)C(计算几何,排列组合,模拟)
#include<bits/stdc++.h>using namespace std;typedef struct{ double k,b;}node;node k[1000007];bo ...
- App渠道统计方法全面解析 总有一种适合你
一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...
- Testing Round #12 B
Description A restaurant received n orders for the rental. Each rental order reserve the restaurant ...
- Jmeter4.0----CSV Data Set Config_对输入参数进行参数化(14)
1.说明 测试接口时,当请求参数不是固定的,每次请求对应的参数都是不同的,就需要对请求参数进行参数化. 2.步骤 第一步:准备数据 (以报告编制人员为例)首先创建.txt文本,自己编辑要参数化的内容 ...
- 02------css选择器
css的选择器:1.基本选择器 2.高级选择器 基本选择器包含: 1.标签选择器标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某 ...
- postgis 赋予postgresql空间数据库的能力
安装: Windows:postgresql的bin目录下:运行stackbuilder,一步一步按照提示来就行了 Ubuntu: apt-get install postgresql-9.3-pos ...
- Storm概念学习系列之storm的特性
不多说,直接上干货! storm的特性 Storm 是一个开源的分布式实时计算系统,可以简单.可靠地处理大量的数据流. Storm支持水平扩展,具有高容错性,保证每个消息都会得到处理,而且处理速度很快 ...
- JDK11 | 第七篇 : ZGC 垃圾收集器
一.简介 Java 11包含一个全新的垃圾收集器--ZGC,它由Oracle开发,承诺在数TB的堆上具有非常低的暂停时间. 在本文中,我们将介绍开发新GC的动机,技术概述以及由ZGC开启的一些可能性. ...
- Zookeeper问题汇总
1. 遗留问题 a). zookeeper集群如何保证请求的均匀分布? 2. ZK概念澄清 2.1 ZK节点类型 CreateMode.PERSISTENT //持久节点,该节点客户端断开后不会删除 ...