Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re: MAX大点就可以AC,题目说是小于20.。真晕

Posted by luozihao at 2008-07-24 20:32:52 on Problem 1979
In Reply To: MAX大点就可以AC,题目说是小于20.。真晕 Posted by:jasonnk at 2008-06-24 03:30:15
> #include <iostream>
> using namespace std;
> 
> const int MAX=101;
> 
> int map[MAX][MAX];
> int couter;
> 
> void getnum(int i,int j){
> 	map[i][j]=0;
> 	couter++;
> 	if(map[i-1][j]==1){map[i-1][j]=0;getnum(i-1,j);}
> 	if(map[i+1][j]==1){map[i+1][j]=0;getnum(i+1,j);}
> 	if(map[i][j-1]==1){map[i][j-1]=0;getnum(i,j-1);}
> 	if(map[i][j+1]==1){map[i][j+1]=0;getnum(i,j+1);}
> 	return;
> }
> 
> int main(){
> 	int w,h;
> 	int x,y;
> 	char t;
> 	
> 	while((cin>>w>>h)&&w&&h){
> 		for(int i=0;i<MAX;i++){for(int j=0;j<MAX;j++){map[i][j] = 0;}}
> 		couter = 0;
> 		x=y=0;
> 		for(int i=0;i<h;i++){
> 			for(int j=0;j<w;j++){
> 				cin >> t;
> 				if(t=='.'){map[i][j] = 1;}
> 				if(t=='#'){map[i][j] = 0;}
> 				if(t=='@'){map[i][j] = 1;y=i;x=j;}
> 			}
> 		}
> 		getnum(y,x);
> 		cout << couter << endl;
> 	}
> 	
> 	
> 	return 1;
> }

我把你的提交不能ac
说是wrong answer
但是我认为你的算法是正确的
for(int i=0;i<MAX;i++){for(int j=0;j<MAX;j++){map[i][j] = 0;}}
这个没必要要吧?

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator