题目链接:

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---并查集+模拟(附测试数据)的更多相关文章

  1. 杭电OJ——1198 Farm Irrigation (并查集)

    畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可 ...

  2. hdu 1198 Farm Irrigation(深搜dfs || 并查集)

    转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm ...

  3. HDU 1198 Farm Irrigation(并查集,自己构造连通条件或者dfs)

    Farm Irrigation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)T ...

  4. hdu 1198 Farm Irrigation(并查集)

    题意: Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a ...

  5. HDU 1198 Farm Irrigation(并查集+位运算)

    Farm Irrigation Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Tot ...

  6. HDU 1198 Farm Irrigation(状态压缩+DFS)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1198 题目: Farm Irrigation Time Limit: 2000/1000 MS (Ja ...

  7. HDU 1198 Farm Irrigation (并检查集合 和 dfs两种实现)

    Farm Irrigation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  8. hdu1198 Farm Irrigation 并查集

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198 简单并查集 分别合并竖直方向和水平方向即可 代码: #include<iostream&g ...

  9. hdu.1198.Farm Irrigation(dfs +放大建图)

    Farm Irrigation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  10. hdu 1198 Farm Irrigation

    令人蛋疼的并查集…… 我居然做了大量的枚举,居然过了,我越来越佩服自己了 这个题有些像一个叫做“水管工”的游戏.给你一个m*n的图,每个单位可以有11种选择,然后相邻两个图只有都和对方连接,才判断他们 ...

随机推荐

  1. ASP.NET控件之RangeValidator控件

    作用:对Textbox或者输入框进行范围验证: 属性:ControlToValidate:要验证的控件: ErrorMessage:错误提示信息: MaxiMumValue:最大值: MinimumV ...

  2. 2014-11-3 NOIP模拟赛2

    NOIP 2014 水题模拟赛 (请选手务必仔细阅读本页内容) 一.题目概况 中文题目名称 数列 刷漆 排队 英文题目与子目录名 seq paint layout 可执行文件名 seq paint l ...

  3. uuid安装 插件安装

    yum -y install uuid uuid-devel 安装uuid包tar -zxvf uuid-1.6.1.tar.gzcd uuid-1.6.1./configuremakemake in ...

  4. 学习Vim的四周计划

    来源:Python程序员 ID:pythonbuluo vim具有自定义配色方案,语法高亮,linting和自动填充功能 Vim是一个以非常难学而闻名的命令行文本编辑器(有个关于Vim的笑话:问如何生 ...

  5. JSP-用网页输出乘法表 三角形及菱形

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. HDU1729 Stone Game

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1729 思路:理解错题目了,以为SG模板直接套就行了.后来队友说了那个ci是不断变化的.那么每次可以放的石头 ...

  7. springboot 简单自定义starter - beetl

    使用idea新建springboot项目beetl-spring-boot-starter 首先添加pom依赖 packaging要设置为jar不能设置为pom<packaging>jar ...

  8. Codeforces Round #364 (Div. 2) B

    Description Vasya has the square chessboard of size n × n and m rooks. Initially the chessboard is e ...

  9. python模块之datetime方法详细介绍

    datetime Python提供了许多内置模块用于操作时间日期,如calendar,time,datetime,这篇文章主要是对datetime进行汇总,datetime模块的借口实现原则更加直观, ...

  10. 02------css选择器

    css的选择器:1.基本选择器 2.高级选择器 基本选择器包含: 1.标签选择器标签选择器可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某 ...