| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
帮忙看看是什么原因错了,或有其它数据吗?#include<stdio.h>
int js[80*1000],c[80*1000];
int main()
{
int i,j,k,m,n,f=0,s1,s2;
char s[80];
for(i=0;i<80*1000;i++)
c[i]=-1;
scanf("%d %d",&n,&m);fflush(stdin);
gets(s) ;
for(j=0;j<n;j++)
{
if(s[j]=='*')
{
if(f==0)
{ c[j]=j;js[j]++;f=1; }
else{
c[j]=c[j-1]; js[c[j]]++;}
}
else
f=0;
}
for(i=1;i<m;i++)
{
gets(s);f=0;
for(j=0;j<n;j++)
{
k=80*i+j;
if(s[j]=='*'){
if(f==0){
if(c[k-80]==-1)
{ c[k]=k; js[k]++;f=1;}
else{
s1=c[k-80]; c[k]=s1;
while(s1!=c[s1])
s1=c[s1];
js[s1]++; f=1;
}
}
else{ /*f=1*/
if(c[k-80]==-1)
{ c[k]=c[k-1]; js[c[k]]++;}
else{
s1=c[k-1];s2=c[k-80];
while(s1!=c[s1]) s1=c[s1];
while(s2!=c[s2]) s2=c[s2];
if(s1==s2){
c[k]=s2;js[s2]++ ;
}
else{
c[k]=s2;c[s1]=s2;js[s2]+=js[s1]+1 ;
}
}
}
} /*end if(s[j]=='*') */
else f=0;
}
}
for(i=0,j=0;i<80*m+n;i++)
if(js[i]>j)j=js[i];
printf("%d",j);
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator