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

这么简单的水题为什么会WA啊,实在找不出来为什么了

Posted by 465948406 at 2014-10-22 20:52:21 on Problem 1979
#include<iostream>
#include<climits>
 #include<fstream>
using namespace std;
 ifstream fin("test.in");
 ofstream fout("test.out");
const int maxsize = 100000;
char map[210][210];
int dx[4] = { -1, 1, 0, 0 };
int dy[4] = { 0, 0, 1, -1 };
int n, m;
int ans=1 ;
int check(int x, int y)
{
	if (x >= 1 && x <= n&&y >= 1 && y <= m&&map[x][y] != '#') return 1;
	else return 0;
}
void bfs(int sx,int sy)
{
	int front = 1,rear = 2,i,j;
	int qx[maxsize], qy[maxsize];
	qx[1] = sx; qy[1] = sy;
	map[sx][sy] = '#';
	while (front <= rear)
	{
		int x = qx[front];
		int y = qy[front];
		for (i = 0; i < 4; i++)
		{
			int newx = x + dx[i];
			int newy = y + dy[i];
			if (check(newx, newy))
			{
				ans++;
				qx[rear] = newx;
				qy[rear] = newy;
				map[newx][newy] = '#';
				rear++;
			}
		}
		front++;
	}
}
int main(){
	int x, y,i,j,sx,sy;

	fin >>m >> n;
	while (m&&n){

		for (i = 1; i <= n; i++)
		for (j = 1; j <= m; j++)
		{
			fin >> map[i][j];
			if (map[i][j] == '@') { sx = i; sy = j; }
		}
		bfs(sx, sy);
		cout << ans << endl;
		fin >> m >> n;
		ans = 1;
	}
system("pause");
return 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