有'\r'!!!
  • 板块P1683 入门
  • 楼主Xuan_0608
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/27 21:47
  • 上次更新2024/12/28 10:59:20
查看原帖
有'\r'!!!
1395691
Xuan_0608楼主2024/12/27 21:47

WA   code\Huge{\color{red} WA}\ \ \ code

#include <bits/stdc++.h>
using namespace std;
const int dx[] = {0, 0, 1, -1};
const int dy[] = {1, -1, 0, 0};
int m, n, ans, b[30][30], x, y;
void dfs(int x, int y)
{
	for(int i = 0; i < 4; i++)
	{
		int xx = x + dx[i];
		int yy = y + dy[i];
		if(xx < 1 || xx > n || yy < 1 || yy > m || b[xx][yy]) continue;
		ans++;
		b[xx][yy] = 1;
		dfs(xx, yy);
	}
}
int main()
{
	cin >> m >> n;
	getchar();//'\n'
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= m; j++)
		{
			char ch = getchar();
			if(ch == '@')
			{
				x = i;
				y = j;
			}
			if(ch == '#') b[i][j] = 1;
		}
		getchar();//'\n'
	}
	ans = 1;
	b[x][y] = 1;
	dfs(x, y);
	cout << ans;
	return 0;
}

AC   code\Huge{\color{green} AC}\ \ \ code

#include <bits/stdc++.h>
using namespace std;
const int dx[] = {0, 0, 1, -1};
const int dy[] = {1, -1, 0, 0};
int m, n, ans, b[30][30], x, y;
void dfs(int x, int y)
{
	for(int i = 0; i < 4; i++)
	{
		int xx = x + dx[i];
		int yy = y + dy[i];
		if(xx < 1 || xx > n || yy < 1 || yy > m || b[xx][yy]) continue;
		ans++;
		b[xx][yy] = 1;
		dfs(xx, yy);
	}
}
int main()
{
	cin >> m >> n;
	getchar(), getchar();//No.1 '\r'+'\n'
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= m; j++)
		{
			char ch = getchar();
			if(ch == '@')
			{
				x = i;
				y = j;
			}
			if(ch == '#') b[i][j] = 1;
		}
		getchar(), getchar();//No.2 '\r'+'\n'
	}
	ans = 1;
	b[x][y] = 1;
	dfs(x, y);
	cout << ans;
	return 0;
}
2024/12/27 21:47
加载中...