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 |
找到错误了,太粗心了!In Reply To:Output Limit Exceed 半天了,郁闷了,请指教 Posted by:044100324 at 2007-03-17 16:13:59 > #include "stdio.h" > #include "memory.h" > > const int M = 10000; > class queue > { > public: > int x[M]; > int y[M]; > int head,tail; > queue(){head=0;tail=0;} > void inqueue(int tx,int ty) > { > x[tail]=tx; > y[tail]=ty; > tail++; > } > void dequeue(int &tx,int &ty) > { > tx=x[head]; > ty=y[head]; > head++; > } > }q; > > char a[90][110]; > bool used[90][110]; > int rel ,m ; > int w,h; > > void solve(int tx, int ty) > { > int x, y; > m = 0 ; > q.head = 0 ; > q.tail = 0 ; > q.inqueue( tx, ty); > m ++ ; > used[tx][ty] = 1; > while(1) > { > if( q.tail > q.head ) > q.dequeue( x, y); > else > { > rel = rel > m ? rel : m ; > break; > } > if( x >= 0 && x < h && y >=0 && y < w ) > { > if( x-1 >= 0 && x-1 < h && y >=0 && y< w &&a[x-1][y] == '*'&& used[x-1][y]==0) > { > q.inqueue( x - 1, y); > m ++ ; > used[x-1][y] = 1; > } > if(x+1 >= 0 && x+1 < h && y >=0 && y < w && a[x+1][y] == '*'&& used[x+1][y]==0) > { > q.inqueue( x+1, y ); > m ++ ; > used[x+1][y] = 1; > } > if( x >= 0 && x < h && y-1 >=0 && y-1 < w && a[x][y-1] == '*'&& used[x][y-1]==0) > { > q.inqueue( x , y - 1); > m ++ ; > used[x][y-1] = 1; > } > if( x >= 0 && x < h && y+1 >=0 && y +1< w && a[x][y+1] == '*'&& used[x][y+1]==0) > { > q.inqueue( x , y + 1); > m ++ ; > used[x][y+1] = 1; > } > } > > } > } > > int main() > { > while( scanf( "%d%d", &w,&h) != EOF ) > { > int i,j; > for( i = 0 ; i < h ; i ++ ) > { > scanf( "%s", a[i]); > memset( used[i] , 0 , 110 * sizeof(bool)); > } > rel = 0 ; > for( i = 0 ; i < h ; i ++ ) > for( j = 0 ; j < w ; j ++) > { > if( a[i][j] == '*' && used[i][j] == 0 ) > solve(i,j); > } > printf( "%d\n", rel); > } > return 0; > } > > > /* > 10 5 > ..*.....** > .**..***** > .*........ > ..****.*** > ..****.*** > > 10 5 > .......... > .......... > .......... > .......... > .......... > > 10 5 > ********** > ********** > ********** > ********** > ********** > > 10 5 > *.*.*.*.*. > .*.*.*.*.* > *.*.*.*.*. > .*.*.*.*.* > *.*.*.*.*. > */ Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator