hdu 1198 Farm Irrigation (并查集)
2013-08-08 17:01
429 查看
好纠结的一道题,我郁闷了!
我的循环从1开始结果不对,改成从0结果就对了!
郁闷!!!!!
好纠结啊!搞了好久!!!!
#include<stdio.h>
struct node
{
int a,b,c,d;
}ae[11]={{1,0,1,0},{1,0,0,1},{0,1,1,0},{0,1,0,1},{1,1,0,0},{0,0,1,1},{1,0,1,1},{1,1,1,0},
{0,1,1,1},{1,1,0,1},{1,1,1,1}};
int pre[50000];
int find(int k)
{
if(pre[k]==k)
return k;
pre[k]=find(pre[k]);
return pre[k];
}
char aaa[100][100];
int map[100][100];
int main()
{
int n,m,x,y,i,j,aa,bb,f1,f2,ans;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==-1&&m==-1)
break;
for(i=0;i<n*m;i++)
pre[i]=i;
for(i=0;i<n;i++)
scanf("%s",aaa[i]);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
map[i][j]=aaa[i][j]-'A';
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
x=i;y=j+1;
if(y<m)
{
if(ae[map[i][j]].d&&ae[map[x][y]].c)
{
aa=i*m+j;
bb=x*m+y;
f1=find(aa);
f2=find(bb);
if(f1!=f2)
pre[f1]=f2;
}
}
x=i+1;y=j;
if(x<n)
{
if(ae[map[i][j]].b&&ae[map[x][y]].a)
{
aa=i*m+j;
bb=x*m+y;
f1=find(aa);
f2=find(bb);
if(f1!=f2)
pre[f1]=f2;
}
}
}
ans=0;
for(i=0;i<n*m;i++)
{
if(pre[i]==i)
{
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198
我的循环从1开始结果不对,改成从0结果就对了!
郁闷!!!!!
好纠结啊!搞了好久!!!!
#include<stdio.h>
struct node
{
int a,b,c,d;
}ae[11]={{1,0,1,0},{1,0,0,1},{0,1,1,0},{0,1,0,1},{1,1,0,0},{0,0,1,1},{1,0,1,1},{1,1,1,0},
{0,1,1,1},{1,1,0,1},{1,1,1,1}};
int pre[50000];
int find(int k)
{
if(pre[k]==k)
return k;
pre[k]=find(pre[k]);
return pre[k];
}
char aaa[100][100];
int map[100][100];
int main()
{
int n,m,x,y,i,j,aa,bb,f1,f2,ans;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(n==-1&&m==-1)
break;
for(i=0;i<n*m;i++)
pre[i]=i;
for(i=0;i<n;i++)
scanf("%s",aaa[i]);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
map[i][j]=aaa[i][j]-'A';
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
x=i;y=j+1;
if(y<m)
{
if(ae[map[i][j]].d&&ae[map[x][y]].c)
{
aa=i*m+j;
bb=x*m+y;
f1=find(aa);
f2=find(bb);
if(f1!=f2)
pre[f1]=f2;
}
}
x=i+1;y=j;
if(x<n)
{
if(ae[map[i][j]].b&&ae[map[x][y]].a)
{
aa=i*m+j;
bb=x*m+y;
f1=find(aa);
f2=find(bb);
if(f1!=f2)
pre[f1]=f2;
}
}
}
ans=0;
for(i=0;i<n*m;i++)
{
if(pre[i]==i)
{
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1198
相关文章推荐
- HDU 题目1198 Farm Irrigation 并查集
- HDU 1198 Farm Irrigation (并查集优化,构图)
- HDU 1198 Farm Irrigation (并查集 和 dfs两种实现)
- HDU 1198 Farm Irrigation (并查集)
- HDU-1198 Farm Irrigation 并查集
- HDU 1198 Farm Irrigation (dfs / 并查集)
- hdu 1198 Farm Irrigation (搜索或并查集)
- HDU 1198 Farm Irrigation 并查集
- hdu1198 Farm Irrigation ----并查集
- hdu 1198 Farm Irrigation (并查集)
- HDU 1198 Farm Irrigation (并查集优化,构图)
- HDU 1198 Farm Irrigation 两种方法(dfs,并查集)
- HDU 1198 Farm Irrigation 并查集
- Farm Irrigation HDU - 1198 (并查集)
- HDU 1198 并查集
- 杭电OJ——1198 Farm Irrigation (并查集)
- HDU 1198 Farm Irrigation(并查集)
- hdu 1198并查集
- HDU 1198 - Farm Irrigation
- HDU 1198-Farm Irrigation